From c7a4ac4dd309b98aa7bc8ed22c7cdedcfd313bf4 Mon Sep 17 00:00:00 2001 From: m-holger Date: Sun, 22 Jun 2025 16:43:26 +0100 Subject: [PATCH] Apply sanity checks on dangling reference object ids encountered before the xref table has been loaded --- libqpdf/QPDF_objects.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libqpdf/QPDF_objects.cc b/libqpdf/QPDF_objects.cc index 08a3bcd..024b843 100644 --- a/libqpdf/QPDF_objects.cc +++ b/libqpdf/QPDF_objects.cc @@ -1845,7 +1845,7 @@ QPDF::getObjectForParser(int id, int gen, bool parse_pdf) if (auto iter = m->obj_cache.find(og); iter != m->obj_cache.end()) { return iter->second.object; } - if (m->xref_table.contains(og) || !m->parsed) { + if (m->xref_table.contains(og) || (!m->parsed && og.getObj() < m->xref_table_max_id)) { return m->obj_cache.insert({og, QPDFObject::create(this, og)}) .first->second.object; } -- libgit2 0.21.4