| Index: core/src/fxcodec/jbig2/JBig2_SddProc.cpp
|
| diff --git a/core/src/fxcodec/jbig2/JBig2_SddProc.cpp b/core/src/fxcodec/jbig2/JBig2_SddProc.cpp
|
| index 16f4a9024e634246e7980c35c870b6f2b40ed03e..1d0393a7e37f3a2515236f2aece5dc3ebad67066 100644
|
| --- a/core/src/fxcodec/jbig2/JBig2_SddProc.cpp
|
| +++ b/core/src/fxcodec/jbig2/JBig2_SddProc.cpp
|
| @@ -258,24 +258,19 @@ CJBig2_SymbolDict* CJBig2_SDDProc::decode_Arith(
|
| CUREXFLAG = !CUREXFLAG;
|
| }
|
| pDict.reset(new CJBig2_SymbolDict);
|
| - pDict->SDNUMEXSYMS = SDNUMEXSYMS;
|
| - pDict->SDEXSYMS = FX_Alloc(CJBig2_Image*, SDNUMEXSYMS);
|
| I = J = 0;
|
| for (I = 0; I < SDNUMINSYMS + SDNUMNEWSYMS; I++) {
|
| if (EXFLAGS[I] && J < SDNUMEXSYMS) {
|
| if (I < SDNUMINSYMS) {
|
| - pDict->SDEXSYMS[J] = new CJBig2_Image(*SDINSYMS[I]);
|
| + pDict->AddImage(new CJBig2_Image(*SDINSYMS[I]));
|
| } else {
|
| - pDict->SDEXSYMS[J] = SDNEWSYMS[I - SDNUMINSYMS];
|
| + pDict->AddImage(SDNEWSYMS[I - SDNUMINSYMS]);
|
| }
|
| - J = J + 1;
|
| + ++J;
|
| } else if (!EXFLAGS[I] && I >= SDNUMINSYMS) {
|
| delete SDNEWSYMS[I - SDNUMINSYMS];
|
| }
|
| }
|
| - if (J < SDNUMEXSYMS) {
|
| - pDict->SDNUMEXSYMS = J;
|
| - }
|
| FX_Free(EXFLAGS);
|
| FX_Free(SDNEWSYMS);
|
| return pDict.release();
|
| @@ -600,24 +595,19 @@ CJBig2_SymbolDict* CJBig2_SDDProc::decode_Huffman(CJBig2_BitStream* pStream,
|
| EXINDEX = EXINDEX + EXRUNLENGTH;
|
| CUREXFLAG = !CUREXFLAG;
|
| }
|
| - pDict->SDNUMEXSYMS = SDNUMEXSYMS;
|
| - pDict->SDEXSYMS = FX_Alloc(CJBig2_Image*, SDNUMEXSYMS);
|
| I = J = 0;
|
| for (I = 0; I < SDNUMINSYMS + SDNUMNEWSYMS; I++) {
|
| if (EXFLAGS[I] && J < SDNUMEXSYMS) {
|
| if (I < SDNUMINSYMS) {
|
| - pDict->SDEXSYMS[J] = new CJBig2_Image(*SDINSYMS[I]);
|
| + pDict->AddImage(new CJBig2_Image(*SDINSYMS[I]));
|
| } else {
|
| - pDict->SDEXSYMS[J] = SDNEWSYMS[I - SDNUMINSYMS];
|
| + pDict->AddImage(SDNEWSYMS[I - SDNUMINSYMS]);
|
| }
|
| - J = J + 1;
|
| + ++J;
|
| } else if (!EXFLAGS[I] && I >= SDNUMINSYMS) {
|
| delete SDNEWSYMS[I - SDNUMINSYMS];
|
| }
|
| }
|
| - if (J < SDNUMEXSYMS) {
|
| - pDict->SDNUMEXSYMS = J;
|
| - }
|
| FX_Free(EXFLAGS);
|
| FX_Free(SDNEWSYMS);
|
| if (SDREFAGG == 0) {
|
|
|