summaryrefslogtreecommitdiff
path: root/lotuswordpro
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2017-02-27 13:22:01 +0000
committerCaolán McNamara <caolanm@redhat.com>2017-02-27 13:53:03 +0000
commit87847bb8b87b80f338bc010d413ce2c9f912e6ec (patch)
treee4d4ee3556e8366bff1a1d3261636148f78fbf3c /lotuswordpro
parent7f335799b34f3454649f0045bdab6f98baa84ed8 (diff)
ofz: fix leak
Change-Id: I631ea0012f8e999f14aa08b42f28d6115a73d084
Diffstat (limited to 'lotuswordpro')
-rw-r--r--lotuswordpro/source/filter/lwpfilter.cxx14
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"));