[poppler] Linearization support
Albert Astals Cid
aacid at kde.org
Wed Nov 10 14:53:24 PST 2010
A Dimarts, 2 de novembre de 2010, vàreu escriure:
> Hi,
>
> On Tue, Nov 2, 2010 at 1:15 AM, Albert Astals Cid <aacid at kde.org> wrote:
> > A Diumenge, 31 d'octubre de 2010, Hib Eris va escriure:
> >> Here is another update to my linearization patches fixing the issue
> >> with bug145868.pdf
> >> Please let me know when you find any other regressions.
> >
> > Got a segmentation fault running pdfinfo in a pdf i will send you,
> > valgrind says
> >
> > ==15941== Invalid read of size 4
> > ==15941== at 0x4F5085C: Object::free() (Dict.h:57)
> > ==15941== by 0x4F66CB3: ObjectStream::~ObjectStream() (XRef.cc:238)
> > ==15941== by 0x4F69C5F: ObjectStreamItem::~ObjectStreamItem()
> > (XRef.cc:121) ==15941== by 0x4F5B5BD: PopplerCache::~PopplerCache()
> > (PopplerCache.cc:37) ==15941== by 0x4F66B0B: XRef::~XRef()
> > (XRef.cc:365)
> > ==15941== by 0x4F5886A: PDFDoc::~PDFDoc() (PDFDoc.cc:299)
> > ==15941== by 0x402E64: main (pdfinfo.cc:329)
> > ==15941== Address 0x753a460 is 32 bytes inside a block of size 40 free'd
> > ==15941== at 0x4C27A83: operator delete(void*)
> > (vg_replace_malloc.c:387) ==15941== by 0x4EE9A58: Catalog::~Catalog()
> > (Catalog.cc:137)
> > ==15941== by 0x4F58851: PDFDoc::~PDFDoc() (PDFDoc.cc:296)
> > ==15941== by 0x402E64: main (pdfinfo.cc:329)
> > ==15941==
> > ==15941== Invalid write of size 4
> > ==15941== at 0x4F50864: Object::free() (Dict.h:57)
> > ==15941== by 0x4F66CB3: ObjectStream::~ObjectStream() (XRef.cc:238)
> > ==15941== by 0x4F69C5F: ObjectStreamItem::~ObjectStreamItem()
> > (XRef.cc:121) ==15941== by 0x4F5B5BD: PopplerCache::~PopplerCache()
> > (PopplerCache.cc:37) ==15941== by 0x4F66B0B: XRef::~XRef()
> > (XRef.cc:365)
> > ==15941== by 0x4F5886A: PDFDoc::~PDFDoc() (PDFDoc.cc:299)
> > ==15941== by 0x402E64: main (pdfinfo.cc:329)
> > ==15941== Address 0x753a460 is 32 bytes inside a block of size 40 free'd
> > ==15941== at 0x4C27A83: operator delete(void*)
> > (vg_replace_malloc.c:387) ==15941== by 0x4EE9A58: Catalog::~Catalog()
> > (Catalog.cc:137)
> > ==15941== by 0x4F58851: PDFDoc::~PDFDoc() (PDFDoc.cc:296)
> > ==15941== by 0x402E64: main (pdfinfo.cc:329)
>
> Nice catch, one more mistake from me using the Dict destructor without
> unRef()'ing it. Updated patches attached.
It's in, now everybody cross your fingers.
Albert
>
> Hib
More information about the poppler
mailing list