From 3490090fbc7266dfcf7c80c6766d4d557b314292 Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Tue, 6 Feb 2024 15:12:41 -0500 Subject: Detect JSON object whose value is an indirect object --- libqpdf/QPDF_json.cc | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'libqpdf/QPDF_json.cc') 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); -- cgit v1.2.3-70-g09d2