vcl/source/filter/svm/SvmReader.cxx |    8 ++++----
 vcl/source/filter/svm/SvmWriter.cxx |    2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

New commits:
commit 034e8a14f6b6c12b870a71cb808fcfdc41221714
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Mon Aug 15 19:37:47 2022 +0100
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Tue Aug 16 09:49:35 2022 +0200

    ofz: Null-dereference-WRITE
    
    took oss-fuzz about a picosecond to find a crasher, lets just use
    sal_uInt32 here
    
    Change-Id: I582377bc30de1c46dce9d3cd659a80237848ed73
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138325
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caol...@redhat.com>

diff --git a/vcl/source/filter/svm/SvmReader.cxx 
b/vcl/source/filter/svm/SvmReader.cxx
index a7b990c3ddba..05696cc1e840 100644
--- a/vcl/source/filter/svm/SvmReader.cxx
+++ b/vcl/source/filter/svm/SvmReader.cxx
@@ -709,9 +709,9 @@ rtl::Reference<MetaAction> 
SvmReader::TextArrayHandler(const ImplMetaReadData* p
 
     if (aCompat.GetVersion() >= 3) // Version 3
     {
-        sal_Int32 nKashidaAryLen(0);
-        mrStream.ReadInt32(nKashidaAryLen);
-        nTmpLen = std::min(nKashidaAryLen, sal_Int32(aArray.size()));
+        sal_uInt32 nKashidaAryLen(0);
+        mrStream.ReadUInt32(nKashidaAryLen);
+        nTmpLen = std::min(nKashidaAryLen, 
static_cast<sal_uInt32>(aArray.size()));
         if (nTmpLen)
         {
             // aKashidaArray, if not empty, must be the same size as aArray
@@ -719,7 +719,7 @@ rtl::Reference<MetaAction> 
SvmReader::TextArrayHandler(const ImplMetaReadData* p
 
             // [-loplugin:fakebool] false positive:
             sal_Bool val(sal_False);
-            for (sal_Int32 i = 0; i < nTmpLen; i++)
+            for (sal_uInt32 i = 0; i < nTmpLen; i++)
             {
                 mrStream.ReadUChar(val);
                 aKashidaArray[i] = val;
diff --git a/vcl/source/filter/svm/SvmWriter.cxx 
b/vcl/source/filter/svm/SvmWriter.cxx
index 6dec8279c151..e79df6a756bd 100644
--- a/vcl/source/filter/svm/SvmWriter.cxx
+++ b/vcl/source/filter/svm/SvmWriter.cxx
@@ -1003,7 +1003,7 @@ void SvmWriter::TextArrayHandler(const 
MetaTextArrayAction* pAction, const ImplM
 
     // Version 3
     const auto& rKashidaArray = pAction->GetKashidaArray();
-    mrStream.WriteInt32(sal_Int32(rKashidaArray.size()));
+    mrStream.WriteUInt32(rKashidaArray.size());
     for (const auto& val : rKashidaArray)
         mrStream.WriteUChar(val);
 }

Reply via email to