diff options
author | Jay Berkenbilt <ejb@ql.org> | 2024-02-06 21:12:41 +0100 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2024-02-06 21:12:41 +0100 |
commit | 3490090fbc7266dfcf7c80c6766d4d557b314292 (patch) | |
tree | 3701db07e037a796fa79a8ec2bd697efa17625f4 /libqpdf/QPDF_json.cc | |
parent | 7ae095fa091af9a94e0e9bf140280a0519859d98 (diff) | |
download | qpdf-3490090fbc7266dfcf7c80c6766d4d557b314292.tar.zst |
Detect JSON object whose value is an indirect object
Diffstat (limited to 'libqpdf/QPDF_json.cc')
-rw-r--r-- | libqpdf/QPDF_json.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libqpdf/QPDF_json.cc b/libqpdf/QPDF_json.cc index 502f2346..8326e6a5 100644 --- a/libqpdf/QPDF_json.cc +++ b/libqpdf/QPDF_json.cc @@ -441,6 +441,10 @@ QPDF::JSONReactor::containerEnd(JSON const& value) void QPDF::JSONReactor::replaceObject(QPDFObjectHandle&& replacement, JSON const& value) { + if (replacement.isIndirect()) { + error(replacement.getParsedOffset(), "the value of an object may not be an indirect object reference"); + return; + } auto& tos = stack.back(); auto og = tos.object.getObjGen(); this->pdf.replaceObject(og, replacement); |