diff options
author | m-holger <m-holger@kubitscheck.org> | 2023-09-03 12:03:24 +0200 |
---|---|---|
committer | m-holger <m-holger@kubitscheck.org> | 2023-09-03 14:41:11 +0200 |
commit | b0c3ea2bb6e0cab1d09726f3e66742eaf45c5745 (patch) | |
tree | 94449bb3fdd03b8549562d9239fd231ed8f2131b /libqpdf/QPDF.cc | |
parent | ca79fcb26e1e1fa94bd1119119eac17b5140c196 (diff) | |
download | qpdf-b0c3ea2bb6e0cab1d09726f3e66742eaf45c5745.tar.zst |
Refactor test for /Pages object in QPDF::copyForeignObject
Test for missing object before accessing obj_copier.object_map.
Diffstat (limited to 'libqpdf/QPDF.cc')
-rw-r--r-- | libqpdf/QPDF.cc | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/libqpdf/QPDF.cc b/libqpdf/QPDF.cc index e39f9b7a..95ed39ec 100644 --- a/libqpdf/QPDF.cc +++ b/libqpdf/QPDF.cc @@ -2034,13 +2034,13 @@ QPDF::copyForeignObject(QPDFObjectHandle foreign) } obj_copier.to_copy.clear(); - 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.")); + auto og = foreign.getObjGen(); + if (!obj_copier.object_map.count(og)) { + warn(damagedPDF("unexpected reference to /Pages object while copying foreign object; " + "replacing with null")); + return QPDFObjectHandle::newNull(); } - return result; + return obj_copier.object_map[foreign.getObjGen()]; } void |