summaryrefslogtreecommitdiff
path: root/hwpfilter
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2017-08-28 12:28:22 +0100
committerCaolán McNamara <caolanm@redhat.com>2017-08-28 16:58:12 +0200
commitefa8e32389ddd1db4e7b5b88856436fdc7061733 (patch)
tree932e603c97c5fb8562dd2d8406d032f10b2984b5 /hwpfilter
parent474178acd10a87727ff63f9f5c0bc73d71520af7 (diff)
ofz#3160 Direct-leak
Change-Id: I6dcc35aaa06c2599a4524194e5e633cd4e36474e Reviewed-on: https://gerrit.libreoffice.org/41634 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'hwpfilter')
-rw-r--r--hwpfilter/source/hwpread.cxx11
1 files changed, 7 insertions, 4 deletions
diff --git a/hwpfilter/source/hwpread.cxx b/hwpfilter/source/hwpread.cxx
index 8b0c877c1f98..826272f8eb74 100644
--- a/hwpfilter/source/hwpread.cxx
+++ b/hwpfilter/source/hwpread.cxx
@@ -21,6 +21,7 @@
#include <comphelper/newarray.hxx>
+#include <assert.h>
#include <list>
#include "hwpfile.h"
@@ -459,12 +460,14 @@ bool Picture::Read(HWPFile & hwpf)
if (pictype == PICTYPE_DRAW)
{
- hmem = new HMemIODev(reinterpret_cast<char *>(follow.data()), follow_block_size);
+ HMemIODev* pOldMem = hmem;
+ HMemIODev* pNewMem = new HMemIODev(reinterpret_cast<char *>(follow.data()), follow_block_size);
+ hmem = pNewMem;
LoadDrawingObjectBlock(this);
style.cell = picinfo.picdraw.hdo;
- delete hmem;
-
- hmem = nullptr;
+ assert(hmem == pNewMem);
+ delete pNewMem;
+ hmem = pOldMem;
}
else if (follow_block_size >= 4)
{