aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/QPDF.cc
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2019-01-03 15:16:53 +0100
committerJay Berkenbilt <ejb@ql.org>2019-01-03 15:17:43 +0100
commit3e74916c5a658d310c37b7dd73b0305c0d1e8ff9 (patch)
tree53662ac9879381f55224855b3583e60a0b36f12e /libqpdf/QPDF.cc
parentf78ea057ca766e083c53f1c0284944b96a42b1b8 (diff)
downloadqpdf-3e74916c5a658d310c37b7dd73b0305c0d1e8ff9.tar.zst
Fix seg fault on empty xref stream (fixes #263)
Thanks to @p-cher for supplying a patch.
Diffstat (limited to 'libqpdf/QPDF.cc')
-rw-r--r--libqpdf/QPDF.cc6
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());