summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/fxcodec/codec/fx_codec_jpeg.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/core/fxcodec/codec/fx_codec_jpeg.cpp b/core/fxcodec/codec/fx_codec_jpeg.cpp
index 6e227ca20e..71a2f8889e 100644
--- a/core/fxcodec/codec/fx_codec_jpeg.cpp
+++ b/core/fxcodec/codec/fx_codec_jpeg.cpp
@@ -419,8 +419,10 @@ CJpegContext::~CJpegContext() {
std::unique_ptr<CCodec_JpegModule::Context> CCodec_JpegModule::Start() {
// Use ordinary pointer until past the possibility of a longjump.
auto* pContext = new CJpegContext();
- if (setjmp(pContext->m_JumpMark) == -1)
+ if (setjmp(pContext->m_JumpMark) == -1) {
+ delete pContext;
return nullptr;
+ }
jpeg_create_decompress(&pContext->m_Info);
pContext->m_Info.src = &pContext->m_SrcMgr;