Index: core/fxcodec/jbig2/JBig2_TrdProc.cpp |
diff --git a/core/fxcodec/jbig2/JBig2_TrdProc.cpp b/core/fxcodec/jbig2/JBig2_TrdProc.cpp |
index ccd8ebf98d273d19296792d86cc0ac2166e83a68..1329cde5f09840de2086d6875bbb316e323e1845 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; |