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) {