aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/QPDF.cc
diff options
context:
space:
mode:
authorm-holger <m-holger@kubitscheck.org>2023-09-03 12:03:24 +0200
committerm-holger <m-holger@kubitscheck.org>2023-09-03 14:41:11 +0200
commitb0c3ea2bb6e0cab1d09726f3e66742eaf45c5745 (patch)
tree94449bb3fdd03b8549562d9239fd231ed8f2131b /libqpdf/QPDF.cc
parentca79fcb26e1e1fa94bd1119119eac17b5140c196 (diff)
downloadqpdf-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.cc12
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