diff options
author | Jay Berkenbilt <ejb@ql.org> | 2020-10-31 18:10:39 +0100 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2020-10-31 18:10:39 +0100 |
commit | 6971f78ff6fb87a7e6da6ee57e8e28ded4fe1a26 (patch) | |
tree | 59d6be7c4bf8aa38971c91f1ef9938e79a64081b /libqpdf/QPDFWriter.cc | |
parent | ffe6af6f77036d9c725ce906df6020e4b5cac58d (diff) | |
download | qpdf-6971f78ff6fb87a7e6da6ee57e8e28ded4fe1a26.tar.zst |
Fix stack overflow on direct root (fuzz issue 26761)
Diffstat (limited to 'libqpdf/QPDFWriter.cc')
-rw-r--r-- | libqpdf/QPDFWriter.cc | 3 |
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") && |