From efa8e32389ddd1db4e7b5b88856436fdc7061733 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Mon, 28 Aug 2017 12:28:22 +0100 Subject: ofz#3160 Direct-leak MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I6dcc35aaa06c2599a4524194e5e633cd4e36474e Reviewed-on: https://gerrit.libreoffice.org/41634 Tested-by: Jenkins Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara --- hwpfilter/source/hwpread.cxx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'hwpfilter/source') 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 +#include #include #include "hwpfile.h" @@ -459,12 +460,14 @@ bool Picture::Read(HWPFile & hwpf) if (pictype == PICTYPE_DRAW) { - hmem = new HMemIODev(reinterpret_cast(follow.data()), follow_block_size); + HMemIODev* pOldMem = hmem; + HMemIODev* pNewMem = new HMemIODev(reinterpret_cast(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) { -- cgit