diff options
author | Caolán McNamara <caolanm@redhat.com> | 2017-02-27 13:22:01 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2017-02-27 13:53:03 +0000 |
commit | 87847bb8b87b80f338bc010d413ce2c9f912e6ec (patch) | |
tree | e4d4ee3556e8366bff1a1d3261636148f78fbf3c /lotuswordpro/source | |
parent | OSL_ENSURE->assert (diff) | |
download | core-87847bb8b87b80f338bc010d413ce2c9f912e6ec.tar.gz core-87847bb8b87b80f338bc010d413ce2c9f912e6ec.zip |
ofz: fix leak
Change-Id: I631ea0012f8e999f14aa08b42f28d6115a73d084
Diffstat (limited to 'lotuswordpro/source')
-rw-r--r-- | lotuswordpro/source/filter/lwpfilter.cxx | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/lotuswordpro/source/filter/lwpfilter.cxx b/lotuswordpro/source/filter/lwpfilter.cxx index 0389ee3cbaf9..f2fe380df0a4 100644 --- a/lotuswordpro/source/filter/lwpfilter.cxx +++ b/lotuswordpro/source/filter/lwpfilter.cxx @@ -101,7 +101,7 @@ using namespace ::com::sun::star; #include "bento.hxx" using namespace OpenStormBento; #include "explode.hxx" - bool Decompress(SvStream *pCompressed, SvStream * & pOutDecompressed) +bool Decompress(SvStream *pCompressed, SvStream * & pOutDecompressed) { pCompressed->Seek(0); std::unique_ptr<SvStream> aDecompressed(new SvMemoryStream(4096, 4096)); @@ -110,10 +110,14 @@ using namespace OpenStormBento; aDecompressed->WriteBytes(buffer, 16); std::unique_ptr<LwpSvStream> aLwpStream(new LwpSvStream(pCompressed)); - LtcBenContainer* pBentoContainer; - sal_uLong ulRet = BenOpenContainer(aLwpStream.get(), &pBentoContainer); - if (ulRet != BenErr_OK) - return false; + std::unique_ptr<OpenStormBento::LtcBenContainer> pBentoContainer; + { + OpenStormBento::LtcBenContainer* pTmp(nullptr); + sal_uLong ulRet = BenOpenContainer(aLwpStream.get(), &pTmp); + pBentoContainer.reset(pTmp); + if (ulRet != BenErr_OK) + return false; + } std::unique_ptr<LtcUtBenValueStream> aWordProData(pBentoContainer->FindValueStreamWithPropertyName("WordProData")); |