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

Stephan Bergmann sbergman at redhat.com
Tue Apr 22 06:10:25 PDT 2014


 filter/source/msfilter/util.cxx |   12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)

New commits:
commit ab9813eaea32b3456a37a283b74ee7be39c69a0c
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Tue Apr 22 15:06:58 2014 +0200

    Don't litter pCustomShapeTypeTranslationHashMap with dangling keys
    
    ...that are char* into temporary OString at the GetOOXMLPresetGeometry call site
    in oox/source/export/shapes.cxx.
    
    Change-Id: Ifd6533f9bd869b740a6b483f4a1f6e4860007b9c

diff --git a/filter/source/msfilter/util.cxx b/filter/source/msfilter/util.cxx
index 807061f..3eb2309 100644
--- a/filter/source/msfilter/util.cxx
+++ b/filter/source/msfilter/util.cxx
@@ -1302,8 +1302,6 @@ static CustomShapeTypeTranslationHashMap* pCustomShapeTypeTranslationHashMap = N
 
 const char* GetOOXMLPresetGeometry( const char* sShapeType )
 {
-    const char* sPresetGeo;
-
     if( pCustomShapeTypeTranslationHashMap == NULL )
     {
         pCustomShapeTypeTranslationHashMap = new CustomShapeTypeTranslationHashMap ();
@@ -1312,13 +1310,9 @@ const char* GetOOXMLPresetGeometry( const char* sShapeType )
             (*pCustomShapeTypeTranslationHashMap)[ pCustomShapeTypeTranslationTable[ i ].sOOo ] = pCustomShapeTypeTranslationTable[ i ].sMSO;
         }
     }
-
-    sPresetGeo = (*pCustomShapeTypeTranslationHashMap)[ sShapeType ];
-
-    if( sPresetGeo == NULL )
-        sPresetGeo = "rect";
-
-    return sPresetGeo;
+    CustomShapeTypeTranslationHashMap::iterator i(
+        pCustomShapeTypeTranslationHashMap->find(sShapeType));
+    return i == pCustomShapeTypeTranslationHashMap->end() ? "rect" : i->second;
 }
 
 typedef boost::unordered_map< const char*, MSO_SPT, rtl::CStringHash, rtl::CStringEqual> DMLToVMLTranslationHashMap;


More information about the Libreoffice-commits mailing list