[Poppler-bugs] [Bug 13972] Crash with the following PDF

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Jan 8 23:40:41 PST 2008


http://bugs.freedesktop.org/show_bug.cgi?id=13972





------- Comment #2 from bradh at frogmouth.net  2008-01-08 23:40 PST -------
It is very ugly in valgrind (just spins after this):
[bradh at conferta tests]$ valgrind ./test-poppler-qt4 ~/samples/pdf/bug13972.pdf
==7719== Memcheck, a memory error detector.
==7719== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al.
==7719== Using LibVEX rev 1730, a library for dynamic binary translation.
==7719== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP.
==7719== Using valgrind-3.4.0.SVN, a dynamic binary instrumentation framework.
==7719== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al.
==7719== For more details, rerun with: -v
==7719==
==7719== Conditional jump or move depends on uninitialised value(s)
==7719==    at 0x4F5FD9D: Parser::getObj(Object*, unsigned char*,
CryptAlgorithm, int, int, int) (Parser.cc:127)
==7719==    by 0x4F600B4: Parser::getObj(Object*, unsigned char*,
CryptAlgorithm, int, int, int) (Parser.cc:86)
==7719==    by 0x4F600B4: Parser::getObj(Object*, unsigned char*,
CryptAlgorithm, int, int, int) (Parser.cc:86)
==7719==    by 0x4F600B4: Parser::getObj(Object*, unsigned char*,
CryptAlgorithm, int, int, int) (Parser.cc:86)
==7719==    by 0x4F6BD07: XRef::fetch(int, int, Object*) (XRef.cc:906)
==7719==    by 0x4F05963: Catalog::Catalog(XRef*) (XRef.h:79)
==7719==    by 0x4F60978: PDFDoc::setup(GooString*, GooString*) (PDFDoc.cc:206)
==7719==    by 0x4F60B6E: PDFDoc::PDFDoc(GooString*, GooString*, GooString*,
void*) (PDFDoc.cc:102)
==7719==    by 0x4C459DA: Poppler::Document::load(QString const&, QByteArray
const&, QByteArray const&) (poppler-private.h:106)
==7719==    by 0x404E54: main (test-poppler-qt4.cpp:108)
==7719==
==7719== Invalid read of size 1
==7719==    at 0x4F0C11E: DecryptStream::getChar() (Decrypt.cc:271)
==7719==    by 0x4F5FD97: Parser::getObj(Object*, unsigned char*,
CryptAlgorithm, int, int, int) (Parser.cc:127)
==7719==    by 0x4F600B4: Parser::getObj(Object*, unsigned char*,
CryptAlgorithm, int, int, int) (Parser.cc:86)
==7719==    by 0x4F600B4: Parser::getObj(Object*, unsigned char*,
CryptAlgorithm, int, int, int) (Parser.cc:86)
==7719==    by 0x4F600B4: Parser::getObj(Object*, unsigned char*,
CryptAlgorithm, int, int, int) (Parser.cc:86)
==7719==    by 0x4F6BD07: XRef::fetch(int, int, Object*) (XRef.cc:906)
==7719==    by 0x4F05963: Catalog::Catalog(XRef*) (XRef.h:79)
==7719==    by 0x4F60978: PDFDoc::setup(GooString*, GooString*) (PDFDoc.cc:206)
==7719==    by 0x4F60B6E: PDFDoc::PDFDoc(GooString*, GooString*, GooString*,
void*) (PDFDoc.cc:102)
==7719==    by 0x4C459DA: Poppler::Document::load(QString const&, QByteArray
const&, QByteArray const&) (poppler-private.h:106)
==7719==    by 0x404E54: main (test-poppler-qt4.cpp:108)
==7719==  Address 0x97a7e08 is 0 bytes after a block of size 328 alloc'd
==7719==    at 0x4A06579: operator new(unsigned long) (vg_replace_malloc.c:230)
==7719==    by 0x4F5FD4B: Parser::getObj(Object*, unsigned char*,
CryptAlgorithm, int, int, int) (Parser.cc:125)
==7719==    by 0x4F600B4: Parser::getObj(Object*, unsigned char*,
CryptAlgorithm, int, int, int) (Parser.cc:86)
==7719==    by 0x4F600B4: Parser::getObj(Object*, unsigned char*,
CryptAlgorithm, int, int, int) (Parser.cc:86)
==7719==    by 0x4F600B4: Parser::getObj(Object*, unsigned char*,
CryptAlgorithm, int, int, int) (Parser.cc:86)
==7719==    by 0x4F6BD07: XRef::fetch(int, int, Object*) (XRef.cc:906)
==7719==    by 0x4F05963: Catalog::Catalog(XRef*) (XRef.h:79)
==7719==    by 0x4F60978: PDFDoc::setup(GooString*, GooString*) (PDFDoc.cc:206)
==7719==    by 0x4F60B6E: PDFDoc::PDFDoc(GooString*, GooString*, GooString*,
void*) (PDFDoc.cc:102)
==7719==    by 0x4C459DA: Poppler::Document::load(QString const&, QByteArray
const&, QByteArray const&) (poppler-private.h:106)
==7719==    by 0x404E54: main (test-poppler-qt4.cpp:108)
==7719==
==7719== ERROR SUMMARY: 2967270 errors from 2 contexts (suppressed: 4 from 1)
==7719== malloc/free: in use at exit: 3,584,288 bytes in 3,975 blocks.
==7719== malloc/free: 25,074 allocs, 21,099 frees, 21,535,259,242 bytes
allocated.
==7719== For counts of detected errors, rerun with: -v
==7719== searching for pointers to 3,975 not-freed blocks.
==7719== checked 1,292,208 bytes.
==7719==
==7719== LEAK SUMMARY:
==7719==    definitely lost: 3,323,330 bytes in 32 blocks.
==7719==      possibly lost: 1,656 bytes in 35 blocks.
==7719==    still reachable: 259,302 bytes in 3,908 blocks.
==7719==         suppressed: 0 bytes in 0 blocks.
==7719== Rerun with --leak-check=full to see details of leaked memory.


-- 
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.


More information about the Poppler-bugs mailing list