diff options
Diffstat (limited to 'libqpdf/QPDF_optimization.cc')
-rw-r--r-- | libqpdf/QPDF_optimization.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/libqpdf/QPDF_optimization.cc b/libqpdf/QPDF_optimization.cc index 3394836c..afa7ccbd 100644 --- a/libqpdf/QPDF_optimization.cc +++ b/libqpdf/QPDF_optimization.cc @@ -195,6 +195,14 @@ QPDF::pushInheritedAttributesToPageInternal( } visited.insert(this_og); + if (! cur_pages.isDictionary()) + { + throw QPDFExc(qpdf_e_damaged_pdf, this->m->file->getName(), + this->m->last_object_description, + this->m->file->getLastOffset(), + "invalid object in page tree"); + } + // Extract the underlying dictionary object std::string type = cur_pages.getKey("/Type").getName(); |