| 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;
|
|
|