[Libreoffice-commits] core.git: svx/source

Mark Wielaard mark at klomp.org
Fri May 24 12:37:12 PDT 2013


 svx/source/sidebar/nbdtmg.cxx |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

New commits:
commit 38de05c720693a9025ea77a7ccc5f2b56dda68cb
Author: Mark Wielaard <mark at klomp.org>
Date:   Fri May 24 21:24:00 2013 +0200

    Robustify and fix leak in NBOTypeMgrBase::ImplLoad().
    
    The >>operator of SvStream doesn't initialize a variable if the stream
    is faulty. So initialize the variables before usage. Also delete the
    SvStream even if it was faulty.
    
    Change-Id: I5a7f31016e060c3b9fb4f0fd1889f444877cb89d
    Reviewed-on: https://gerrit.libreoffice.org/4031
    Tested-by: Caolán McNamara <caolanm at redhat.com>
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/svx/source/sidebar/nbdtmg.cxx b/svx/source/sidebar/nbdtmg.cxx
index 0976150..a1eb0c1 100644
--- a/svx/source/sidebar/nbdtmg.cxx
+++ b/svx/source/sidebar/nbdtmg.cxx
@@ -184,8 +184,8 @@ void NBOTypeMgrBase::ImplLoad(String filename)
     aFile.Append( filename);
     SvStream* pIStm = ::utl::UcbStreamHelper::CreateStream( aFile.GetMainURL( INetURLObject::NO_DECODE ), STREAM_READ );
     if( pIStm ) {
-        sal_uInt32                      nVersion;
-        sal_Int32                   nNumIndex;
+        sal_uInt32                  nVersion = 0;
+        sal_Int32                   nNumIndex = 0;
         *pIStm >> nVersion;
         if (nVersion==DEFAULT_NUMBERING_CACHE_FORMAT_VERSION) //first version
         {
@@ -209,8 +209,8 @@ void NBOTypeMgrBase::ImplLoad(String filename)
                 RelplaceNumRule(aNum,nNumIndex,mLevel);
                 *pIStm >> nNumIndex;
             }
-            delete pIStm;
         }
+        delete pIStm;
     }
     eCoreUnit = eOldCoreUnit;
     bIsLoading = false;


More information about the Libreoffice-commits mailing list