diff options
author | m-holger <m-holger@kubitscheck.org> | 2023-07-25 15:34:14 +0200 |
---|---|---|
committer | m-holger <m-holger@kubitscheck.org> | 2023-08-25 13:10:51 +0200 |
commit | fedd42191f0eec498ba1c22ef13beae0f37387aa (patch) | |
tree | 50d93742b62ce9a182533ba6bad8bcc9b9452261 /libqpdf | |
parent | 5d6ee83e3f39b5ee8768e93599ec09fa66d25908 (diff) | |
download | qpdf-fedd42191f0eec498ba1c22ef13beae0f37387aa.tar.zst |
Change QPDF::copyForeignObject to return a null object when called with a /Pages object (fixes #1011)
Diffstat (limited to 'libqpdf')
-rw-r--r-- | libqpdf/QPDF.cc | 8 |
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 |