From 972cbf103da10df7d2dd89313b4ce985a1b06ab8 Mon Sep 17 00:00:00 2001 From: m-holger Date: Tue, 30 Apr 2024 10:38:59 +0100 Subject: [PATCH] In QPDF::processXRefStream avoid inserting objed id 0 into the xref table --- libqpdf/QPDF.cc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libqpdf/QPDF.cc b/libqpdf/QPDF.cc index 3f776852..d5e9c7c8 100644 --- a/libqpdf/QPDF.cc +++ b/libqpdf/QPDF.cc @@ -1117,8 +1117,7 @@ QPDF::processXRefStream(qpdf_offset_t xref_offset, QPDFObjectHandle& xref_obj) if (obj == 0) { // This is needed by checkLinearization() m->first_xref_item_offset = xref_offset; - } - if (fields[0] == 0) { + } else if (fields[0] == 0) { // Ignore fields[2], which we don't care about in this case. This works around the issue // of some PDF files that put invalid values, like -1, here for deleted objects. insertFreeXrefEntry(QPDFObjGen(obj, 0));