summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoryumkam <[email protected]>2025-01-10 13:06:24 +0300
committerGitHub <[email protected]>2025-01-10 13:06:24 +0300
commitd6febabe2b496139c38d8d9d6171dd4dbbb4900a (patch)
treec8a8f0be6faa6d831bd03d11fbe2087819befcdb
parent22fe7bdfd7a5ef1c138c467017ab6b07f6c84768 (diff)
clickhouse udf: fix errno access without error (#13243)
-rw-r--r--ydb/library/yql/udfs/common/clickhouse/client/src/IO/WriteBufferFromFileDescriptor.cpp2
-rw-r--r--ydb/library/yql/udfs/common/clickhouse/client/src/IO/WriteBufferFromFileDescriptorDiscardOnFailure.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/ydb/library/yql/udfs/common/clickhouse/client/src/IO/WriteBufferFromFileDescriptor.cpp b/ydb/library/yql/udfs/common/clickhouse/client/src/IO/WriteBufferFromFileDescriptor.cpp
index f3f6ac8feff..ff3f9b98acc 100644
--- a/ydb/library/yql/udfs/common/clickhouse/client/src/IO/WriteBufferFromFileDescriptor.cpp
+++ b/ydb/library/yql/udfs/common/clickhouse/client/src/IO/WriteBufferFromFileDescriptor.cpp
@@ -58,7 +58,7 @@ void WriteBufferFromFileDescriptor::nextImpl()
res = ::write(fd, working_buffer.begin() + bytes_written, offset() - bytes_written);
}
- if ((-1 == res || 0 == res) && errno != EINTR)
+ if ((-1 == res && errno != EINTR) || 0 == res)
{
ProfileEvents::increment(ProfileEvents::WriteBufferFromFileDescriptorWriteFailed);
throwFromErrnoWithPath("Cannot write to file " + getFileName(), getFileName(),
diff --git a/ydb/library/yql/udfs/common/clickhouse/client/src/IO/WriteBufferFromFileDescriptorDiscardOnFailure.cpp b/ydb/library/yql/udfs/common/clickhouse/client/src/IO/WriteBufferFromFileDescriptorDiscardOnFailure.cpp
index b19cc655091..6cfe845bfe9 100644
--- a/ydb/library/yql/udfs/common/clickhouse/client/src/IO/WriteBufferFromFileDescriptorDiscardOnFailure.cpp
+++ b/ydb/library/yql/udfs/common/clickhouse/client/src/IO/WriteBufferFromFileDescriptorDiscardOnFailure.cpp
@@ -15,7 +15,7 @@ void WriteBufferFromFileDescriptorDiscardOnFailure::nextImpl()
{
ssize_t res = ::write(fd, working_buffer.begin() + bytes_written, offset() - bytes_written);
- if ((-1 == res || 0 == res) && errno != EINTR)
+ if ((-1 == res && errno != EINTR) || 0 == res)
{
ProfileEvents::increment(ProfileEvents::CannotWriteToWriteBufferDiscard);
break; /// Discard