diff --git a/io/copy.h b/io/copy.h index dba0ec2..fcf546c 100644 --- a/io/copy.h +++ b/io/copy.h @@ -103,7 +103,7 @@ void CopyHelper::callbackCopy(std::istream &input, std::ostream &out template void CopyHelper::copy(NativeFileStream &input, NativeFileStream &output, std::uint64_t count) { #ifdef CPP_UTILITIES_USE_SEND_FILE - if (output.fileDescriptor() != -1 && input.fileDescriptor() != -1) { + if (output.fileDescriptor() != -1 && input.fileDescriptor() != -1 && output.fileDescriptor() != input.fileDescriptor()) { const auto inputTellg = output.tellg(); const auto inputTellp = output.tellp(); const auto outputTellg = output.tellg(); @@ -151,7 +151,7 @@ void CopyHelper::callbackCopy(NativeFileStream &input, NativeFileStr const std::function &isAborted, const std::function &callback) { #ifdef CPP_UTILITIES_USE_SEND_FILE - if (output.fileDescriptor() != -1 && input.fileDescriptor() != -1) { + if (output.fileDescriptor() != -1 && input.fileDescriptor() != -1 && output.fileDescriptor() != input.fileDescriptor()) { const auto inputTellg = output.tellg(); const auto inputTellp = output.tellp(); const auto outputTellg = output.tellg();