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

Armin Le Grand alg at apache.org
Thu May 2 03:03:05 PDT 2013


 sw/source/filter/ww8/wrtww8.cxx |    3 ++-
 sw/source/filter/ww8/wrtww8.hxx |    3 +++
 2 files changed, 5 insertions(+), 1 deletion(-)

New commits:
commit 52bd4ffaac9a48e4838f8e06d6b97fb1c1dd4bb2
Author: Armin Le Grand <alg at apache.org>
Date:   Tue Jun 26 13:30:33 2012 +0000

    Resolves: #120098# Memoryleak fixed at escher sw export
    
    remember and destroy the used stream.
    
    Found by: Chao Huang
    Patch by: Chao Huang
    Review by: alg
    (cherry picked from commit 9914b3172fd4e3867693e5e63c8085dd66f18b5f)
    
    Conflicts:
    	sw/source/filter/ww8/wrtww8.cxx
    
    Change-Id: I5bccdd71312f32f861291fc600396dc111fc11c7

diff --git a/sw/source/filter/ww8/wrtww8.cxx b/sw/source/filter/ww8/wrtww8.cxx
index 7753d3c..53308d8 100644
--- a/sw/source/filter/ww8/wrtww8.cxx
+++ b/sw/source/filter/ww8/wrtww8.cxx
@@ -2743,7 +2743,8 @@ void WW8Export::WriteFkpPlcUsw()
              the existence of an ObjectPool dir is necessary for triggering
              some magic. cmc
             */
-            GetWriter().GetStorage().OpenSotStorage(OUString(SL::aObjectPool),
+            // avoid memory leak #i120098#, the unnamed obj will be released in destructor.
+            xEscherStg = GetWriter().GetStorage().OpenSotStorage(OUString(SL::aObjectPool),
                 STREAM_READWRITE | STREAM_SHARE_DENYALL);
         }
 
diff --git a/sw/source/filter/ww8/wrtww8.hxx b/sw/source/filter/ww8/wrtww8.hxx
index 7d33f29..3339bfe 100644
--- a/sw/source/filter/ww8/wrtww8.hxx
+++ b/sw/source/filter/ww8/wrtww8.hxx
@@ -923,6 +923,9 @@ protected:
     SwWW8Writer        *m_pWriter;      ///< Pointer to the writer
     WW8AttributeOutput *m_pAttrOutput;  ///< Converting attributes to stream data
 
+private:
+    SvStorageRef       xEscherStg;      /// memory leak #i120098#, to hold the reference to unnamed SotStorage obj
+
 public:
     /// Access to the attribute output class.
     virtual AttributeOutputBase& AttrOutput() const;


More information about the Libreoffice-commits mailing list