Index: src/libchcore/TOverlappedDataBuffer.cpp =================================================================== diff -u -N -r3ccbdb8d3eac3427e6d3354854476e57fdc7ceb9 -rbef894e38e5c1486824787cf8c47a87a0828b228 --- src/libchcore/TOverlappedDataBuffer.cpp (.../TOverlappedDataBuffer.cpp) (revision 3ccbdb8d3eac3427e6d3354854476e57fdc7ceb9) +++ src/libchcore/TOverlappedDataBuffer.cpp (.../TOverlappedDataBuffer.cpp) (revision bef894e38e5c1486824787cf8c47a87a0828b228) @@ -58,6 +58,9 @@ void TOverlappedDataBuffer::ReinitializeBuffer(size_t stNewBufferSize) { + if (stNewBufferSize == 0) + throw TCoreException(eErr_InvalidArgument, L"Cannot create 0-sized buffer", LOCATION); + if (stNewBufferSize != m_stBufferSize) { ReleaseBuffer(); @@ -111,5 +114,6 @@ SetErrorCode(ERROR_SUCCESS); SetStatusCode(0); SetBytesTransferred(0); + SetParam(nullptr); } }