aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/QPDFWriter.cc
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2020-10-31 18:10:39 +0100
committerJay Berkenbilt <ejb@ql.org>2020-10-31 18:10:39 +0100
commit6971f78ff6fb87a7e6da6ee57e8e28ded4fe1a26 (patch)
tree59d6be7c4bf8aa38971c91f1ef9938e79a64081b /libqpdf/QPDFWriter.cc
parentffe6af6f77036d9c725ce906df6020e4b5cac58d (diff)
downloadqpdf-6971f78ff6fb87a7e6da6ee57e8e28ded4fe1a26.tar.zst
Fix stack overflow on direct root (fuzz issue 26761)
Diffstat (limited to 'libqpdf/QPDFWriter.cc')
-rw-r--r--libqpdf/QPDFWriter.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/libqpdf/QPDFWriter.cc b/libqpdf/QPDFWriter.cc
index ba19cbb9..fcf272f6 100644
--- a/libqpdf/QPDFWriter.cc
+++ b/libqpdf/QPDFWriter.cc
@@ -1537,7 +1537,8 @@ QPDFWriter::unparseObject(QPDFObjectHandle object, int level,
bool have_extensions_adbe = false;
QPDFObjectHandle extensions;
- if (old_og == this->m->pdf.getRoot().getObjGen())
+ if ((old_og.getObj() != 0) &&
+ (old_og == this->m->pdf.getRoot().getObjGen()))
{
is_root = true;
if (object.hasKey("/Extensions") &&