sc/source/filter/lotus/lotform.cxx |   11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

New commits:
commit a49e066945e445c56471e20ba7de892155f12d0b
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Wed Sep 1 11:25:28 2021 +0100
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Wed Sep 1 15:52:19 2021 +0200

    ofz: MemorySanitizer: use-of-uninitialized-value
    
    Change-Id: I9ae6e92cd5677619f8604764acbbe30a7290002e
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121444
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caol...@redhat.com>

diff --git a/sc/source/filter/lotus/lotform.cxx 
b/sc/source/filter/lotus/lotform.cxx
index 2c89a46aeed7..98a302ed4809 100644
--- a/sc/source/filter/lotus/lotform.cxx
+++ b/sc/source/filter/lotus/lotform.cxx
@@ -391,9 +391,7 @@ typedef DefTokenId ( FuncType2 ) ( sal_uInt8 );
 void LotusToSc::Convert( std::unique_ptr<ScTokenArray>& rpErg, sal_Int32& 
rRest )
 {
     sal_uInt8               nOc;
-    sal_uInt8               nCnt;
     sal_uInt8               nRelBits;
-    sal_uInt16              nStrLen;
     sal_uInt16              nRngIndex;
     FUNC_TYPE           eType = FT_NOP;
     TokenId             nBuf0;
@@ -465,10 +463,13 @@ void LotusToSc::Convert( std::unique_ptr<ScTokenArray>& 
rpErg, sal_Int32& rRest
             case FT_FuncFix2:   DoFunc( eOc, 2, pExtName ); break;
             case FT_FuncFix3:   DoFunc( eOc, 3, pExtName ); break;
             case FT_FuncFix4:   DoFunc( eOc, 4, pExtName ); break;
-                case FT_FuncVar:
+            case FT_FuncVar:
+            {
+                sal_uInt8 nCnt(0);
                 Read( nCnt );
                 DoFunc( eOc, nCnt, pExtName );
                 break;
+            }
             case FT_Neg:
                 aPool << ocOpen << ocNegSub << aStack << ocClose;
                 aPool >> aStack;
@@ -607,7 +608,9 @@ void LotusToSc::Convert( std::unique_ptr<ScTokenArray>& 
rpErg, sal_Int32& rRest
                 break;
             case FT_Splfunc:
             {
+                sal_uInt8 nCnt(0);
                 Read( nCnt );
+                sal_uInt16 nStrLen(0);
                 Read( nStrLen );
 
                 const size_t nMaxEntries = aIn.remainingSize();
@@ -629,8 +632,8 @@ void LotusToSc::Convert( std::unique_ptr<ScTokenArray>& 
rpErg, sal_Int32& rRest
                 }
                 else
                     DoFunc( ocNoName, nCnt, nullptr );
-            }
                 break;
+            }
             case FT_Const10Float:
             {
                 double fValue;

Reply via email to