[PATCH] Robustify and fix leak in NBOTypeMgrBase::ImplLoad().

Mark Wielaard (via Code Review) gerrit at gerrit.libreoffice.org
Fri May 24 12:28:50 PDT 2013


Hi,

I have submitted a patch for review:

    https://gerrit.libreoffice.org/4031

To pull it, you can do:

    git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/31/4031/1

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
---
M svx/source/sidebar/nbdtmg.cxx
1 file changed, 3 insertions(+), 3 deletions(-)



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 @@
     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 @@
                 RelplaceNumRule(aNum,nNumIndex,mLevel);
                 *pIStm >> nNumIndex;
             }
-            delete pIStm;
         }
+        delete pIStm;
     }
     eCoreUnit = eOldCoreUnit;
     bIsLoading = false;

-- 
To view, visit https://gerrit.libreoffice.org/4031
To unsubscribe, visit https://gerrit.libreoffice.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I5a7f31016e060c3b9fb4f0fd1889f444877cb89d
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: master
Gerrit-Owner: Mark Wielaard <mark at klomp.org>



More information about the LibreOffice mailing list