[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