diff options
author | Caolán McNamara <caolanm@redhat.com> | 2017-08-28 12:28:22 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2017-08-28 16:58:12 +0200 |
commit | efa8e32389ddd1db4e7b5b88856436fdc7061733 (patch) | |
tree | 932e603c97c5fb8562dd2d8406d032f10b2984b5 /hwpfilter | |
parent | ofz#3174 disallow header in header (diff) | |
download | core-efa8e32389ddd1db4e7b5b88856436fdc7061733.tar.gz core-efa8e32389ddd1db4e7b5b88856436fdc7061733.zip |
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.cxx | 11 |
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) { |