summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorm-holger <m-holger@kubitscheck.org>2023-07-25 15:34:14 +0200
committerm-holger <m-holger@kubitscheck.org>2023-08-25 13:10:51 +0200
commitfedd42191f0eec498ba1c22ef13beae0f37387aa (patch)
tree50d93742b62ce9a182533ba6bad8bcc9b9452261
parent5d6ee83e3f39b5ee8768e93599ec09fa66d25908 (diff)
downloadqpdf-fedd42191f0eec498ba1c22ef13beae0f37387aa.tar.zst
Change QPDF::copyForeignObject to return a null object when called with a /Pages object (fixes #1011)
-rw-r--r--libqpdf/QPDF.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/libqpdf/QPDF.cc b/libqpdf/QPDF.cc
index c5a7ab5d..45bd1847 100644
--- a/libqpdf/QPDF.cc
+++ b/libqpdf/QPDF.cc
@@ -2026,7 +2026,13 @@ QPDF::copyForeignObject(QPDFObjectHandle foreign)
}
obj_copier.to_copy.clear();
- return obj_copier.object_map[foreign.getObjGen()];
+ auto& result = obj_copier.object_map[foreign.getObjGen()];
+ if (!result.isInitialized()) {
+ result = QPDFObjectHandle::newNull();
+ warn(damagedPDF("Unexpected reference to /Pages object while copying foreign object. "
+ "Replacing with Null object."));
+ }
+ return result;
}
void