[poppler] Using free'd object on loop pages

Albert Astals Cid aacid at kde.org
Wed Nov 24 13:30:59 PST 2010


Hi Hib, got a pdf that has a loop in pages and it is aborting because uses an 
already freed object, looking at the code i see

    for (size_t i = 0; i < pagesRefList->size(); i++) {
      if (((*pagesRefList)[i]).num == kidRef.getRefNum()) {
         error(-1, "Loop in Pages tree");
         kidRef.free();
         kids.free();
         kidsIdxList->back()++;
         continue;
      }
    }

    Object kid;
    kids.arrayGet(kidsIdx, &kid);

So we are free'ing kids, doing continue to quit the loop and the using kids.

Wonder if that continue should be a return gFalse?

Albert


More information about the poppler mailing list