diff options
author | Jay Berkenbilt <ejb@ql.org> | 2019-01-03 15:16:53 +0100 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2019-01-03 15:17:43 +0100 |
commit | 3e74916c5a658d310c37b7dd73b0305c0d1e8ff9 (patch) | |
tree | 53662ac9879381f55224855b3583e60a0b36f12e /libqpdf | |
parent | f78ea057ca766e083c53f1c0284944b96a42b1b8 (diff) | |
download | qpdf-3e74916c5a658d310c37b7dd73b0305c0d1e8ff9.tar.zst |
Fix seg fault on empty xref stream (fixes #263)
Thanks to @p-cher for supplying a patch.
Diffstat (limited to 'libqpdf')
-rw-r--r-- | libqpdf/QPDF.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libqpdf/QPDF.cc b/libqpdf/QPDF.cc index 90caafe2..75ee1f13 100644 --- a/libqpdf/QPDF.cc +++ b/libqpdf/QPDF.cc @@ -1228,7 +1228,11 @@ QPDF::getObjectCount() { o1 = (*(this->m->obj_cache.rbegin())).first; } - QPDFObjGen o2 = (*(this->m->xref_table.rbegin())).first; + QPDFObjGen o2(0, 0); + if (! this->m->xref_table.empty()) + { + o2 = (*(this->m->xref_table.rbegin())).first; + } QTC::TC("qpdf", "QPDF indirect last obj from xref", (o2.getObj() > o1.getObj()) ? 1 : 0); return std::max(o1.getObj(), o2.getObj()); |