mirror of
https://github.com/qpdf/qpdf.git
synced 2024-12-22 10:58:58 +00:00
Fix stack overflow on direct root (fuzz issue 26761)
This commit is contained in:
parent
ffe6af6f77
commit
6971f78ff6
@ -1,5 +1,9 @@
|
||||
2020-10-31 Jay Berkenbilt <ejb@ql.org>
|
||||
|
||||
* Don't enter extension initialization in QPDFWriter on a direct
|
||||
object. Fixes stack overflow in pathological case of /Root being a
|
||||
direct object (fuzz issue 26761).
|
||||
|
||||
* My previous fix to #449 (handling foreign streams with indirect
|
||||
objects in /Filter and/or /DecodeParms) was incorrect and caused
|
||||
other problems. There is a now a correct fix to the original
|
||||
|
BIN
fuzz/qpdf_extra/26761.fuzz
Normal file
BIN
fuzz/qpdf_extra/26761.fuzz
Normal file
Binary file not shown.
@ -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") &&
|
||||
|
Loading…
Reference in New Issue
Block a user