Index: src/libchcore/TWin32ErrorFormatter.cpp =================================================================== diff -u -N -r8068e0c351055554340ac9755d1bc846893bf2b8 -r7e407d35b44ec7482a112ef382e4619cf5d96172 --- src/libchcore/TWin32ErrorFormatter.cpp (.../TWin32ErrorFormatter.cpp) (revision 8068e0c351055554340ac9755d1bc846893bf2b8) +++ src/libchcore/TWin32ErrorFormatter.cpp (.../TWin32ErrorFormatter.cpp) (revision 7e407d35b44ec7482a112ef382e4619cf5d96172) @@ -19,6 +19,7 @@ #include "stdafx.h" #include "TWin32ErrorFormatter.h" #include +#include namespace chcore { @@ -57,7 +58,12 @@ strData.ReleaseBufferSetLength(iPos < 0 ? 0 : iPos); } else + { + if(dwPos == 0) + ATLTRACE(L"Cannot format error message. Error code=%lu\n", GetLastError()); + strData.ReleaseBufferSetLength(std::min(dwPos, dwMaxError - 1)); + } strData.TrimRightSelf(_T("\r\n"));