diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/fxcodec/jbig2/JBig2_TrdProc.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/core/fxcodec/jbig2/JBig2_TrdProc.cpp b/core/fxcodec/jbig2/JBig2_TrdProc.cpp index ccd8ebf98d..1329cde5f0 100644 --- a/core/fxcodec/jbig2/JBig2_TrdProc.cpp +++ b/core/fxcodec/jbig2/JBig2_TrdProc.cpp @@ -266,7 +266,8 @@ CJBig2_Image* CJBig2_TRDProc::decode_Arith(CJBig2_ArithDecoder* pArithDecoder, std::unique_ptr<CJBig2_Image> SBREG(new CJBig2_Image(SBW, SBH)); SBREG->fill(SBDEFPIXEL); int32_t STRIPT; - pIADT->decode(pArithDecoder, &STRIPT); + if (!pIADT->decode(pArithDecoder, &STRIPT)) + return nullptr; STRIPT *= SBSTRIPS; STRIPT = -STRIPT; int32_t FIRSTS = 0; @@ -274,7 +275,8 @@ CJBig2_Image* CJBig2_TRDProc::decode_Arith(CJBig2_ArithDecoder* pArithDecoder, while (NINSTANCES < SBNUMINSTANCES) { int32_t CURS = 0; int32_t DT; - pIADT->decode(pArithDecoder, &DT); + if (!pIADT->decode(pArithDecoder, &DT)) + return nullptr; DT *= SBSTRIPS; STRIPT += DT; bool bFirst = true; |