aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/QPDFObjectHandle.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libqpdf/QPDFObjectHandle.cc')
-rw-r--r--libqpdf/QPDFObjectHandle.cc13
1 files changed, 12 insertions, 1 deletions
diff --git a/libqpdf/QPDFObjectHandle.cc b/libqpdf/QPDFObjectHandle.cc
index a6d07190..4ee25bc7 100644
--- a/libqpdf/QPDFObjectHandle.cc
+++ b/libqpdf/QPDFObjectHandle.cc
@@ -2135,7 +2135,18 @@ QPDFObjectHandle::parseInternal(PointerHolder<InputSource> input,
{
val = olist.at(++i);
}
- dict[key_obj.getName()] = val;
+ std::string key = key_obj.getName();
+ if (dict.count(key) > 0)
+ {
+ QTC::TC("qpdf", "QPDFObjectHandle duplicate dict key");
+ warn(context,
+ QPDFExc(
+ qpdf_e_damaged_pdf,
+ input->getName(), object_description, offset,
+ "dictionary has duplicated key " + key +
+ "; last occurrence overrides earlier ones"));
+ }
+ dict[key] = val;
}
object = newDictionary(dict);
setObjectDescriptionFromInput(