diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/UIPstream.C b/src/OpenFOAM/db/IOstreams/Pstreams/UIPstream.C index 76f9706093..ddee4450a4 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/UIPstream.C +++ b/src/OpenFOAM/db/IOstreams/Pstreams/UIPstream.C @@ -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();