diff options
author | Jay Berkenbilt <ejb@ql.org> | 2011-01-31 15:59:42 +0100 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2011-01-31 15:59:42 +0100 |
commit | a8f224872995e3b90297693cfe1f381f01c555c8 (patch) | |
tree | 2487fc5bd31b4c4a592cf969150309765af3e033 /libqpdf/QPDF.cc | |
parent | 5ccc788b80f2533a4e7b6b9288a90ba53b1fc2c1 (diff) | |
download | qpdf-a8f224872995e3b90297693cfe1f381f01c555c8.tar.zst |
handle files with object 0 as a real object
git-svn-id: svn+q:///qpdf/trunk@1049 71b93d88-0707-0410-a8cf-f5a4172ac649
Diffstat (limited to 'libqpdf/QPDF.cc')
-rw-r--r-- | libqpdf/QPDF.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libqpdf/QPDF.cc b/libqpdf/QPDF.cc index d176e516..35d9b400 100644 --- a/libqpdf/QPDF.cc +++ b/libqpdf/QPDF.cc @@ -782,7 +782,7 @@ QPDF::read_xrefStream(off_t xref_offset) try { xref_obj = readObjectAtOffset( - false, xref_offset, "xref stream", 0, 0, xobj, xgen); + false, xref_offset, "xref stream", -1, 0, xobj, xgen); } catch (QPDFExc& e) { @@ -1580,7 +1580,7 @@ QPDF::readObjectAtOffset(bool try_recovery, objid = atoi(tobjid.getValue().c_str()); generation = atoi(tgen.getValue().c_str()); - if (exp_objid && + if ((exp_objid >= 0) && (! ((objid == exp_objid) && (generation == exp_generation)))) { QTC::TC("qpdf", "QPDF err wrong objid/generation"); @@ -1593,7 +1593,7 @@ QPDF::readObjectAtOffset(bool try_recovery, } catch (QPDFExc& e) { - if (exp_objid && try_recovery && this->attempt_recovery) + if ((exp_objid >= 0) && try_recovery && this->attempt_recovery) { // Try again after reconstructing xref table reconstruct_xref(e); |