diff options
-rw-r--r-- | filter/source/msfilter/svdfppt.cxx | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/filter/source/msfilter/svdfppt.cxx b/filter/source/msfilter/svdfppt.cxx index 0bc723e7c379..ba2bc383f6bd 100644 --- a/filter/source/msfilter/svdfppt.cxx +++ b/filter/source/msfilter/svdfppt.cxx @@ -5256,7 +5256,10 @@ void PPTStyleTextPropReader::Init( SvStream& rIn, const DffRecordHeader& rTextHe sal_uInt32 i; sal_Unicode nChar; std::unique_ptr<sal_Unicode[]> pBuf(new sal_Unicode[ ( nMaxLen >> 1 ) + 1 ]); - rIn.ReadBytes(pBuf.get(), nMaxLen); + void* pDest = pBuf.get(); + auto nRead = rIn.ReadBytes(pDest, nMaxLen); + if (nRead != nMaxLen) + memset(static_cast<char*>(pDest) + nRead, 0, nMaxLen - nRead); nMaxLen >>= 1; pBuf[ nMaxLen ] = 0; sal_Unicode* pPtr = pBuf.get(); |