BUG: UIPstream: sending zero sized string accesses beyond buffer. Fixes #676

This commit is contained in:
mattijs 2017-12-20 15:28:20 +00:00
parent 276cef6aba
commit feb11e4a39

View File

@ -106,7 +106,14 @@ inline Foam::Istream& Foam::UIPstream::readStringFromBuffer(std::string& str)
size_t len;
readFromBuffer(len);
str.assign(&externalBuf_[externalBufPosition_], len);
if (len == 0)
{
str.clear();
}
else
{
str.assign(&externalBuf_[externalBufPosition_], len);
}
externalBufPosition_ += len;
checkEof();