filter/source/msfilter/svdfppt.cxx |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

New commits:
commit f163ab3c911018fb79d11bacc561a6efd50cee73
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Sun Nov 7 15:05:33 2021 +0000
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Sun Nov 7 18:07:25 2021 +0100

    ofz: Use-of-uninitialized-value
    
    Change-Id: Ic96e20570f0aae9a7fab66fd39d0fadc0b72d3f0
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124820
    Tested-by: Caolán McNamara <caol...@redhat.com>
    Reviewed-by: Caolán McNamara <caol...@redhat.com>

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();

Reply via email to