Commit 94e86e252843e500fe3ef750203bfa7d31cab4ce

Authored by Jay Berkenbilt
1 parent 8721f189

Fix fuzz issue 16301

fuzz/qpdf_extra/16301.fuzz 0 → 100644
  1 + 1 0 obj << /AcroForm<< /Fields ÿ /NeedAppearances true>> /Pages 16 0 R >>
  2 +endobj
  3 +15 0 obj << /Annots [ << ÿ /FT/Ch/Subtype /Widget >>
  4 +endobj
  5 +16 0 obj <<ÿÿÿÿ/Kids[15 0 R] >>
  6 +endobj
  7 +trailer << /Root 1 0 R >> ]>> ÿ ÿ
0 \ No newline at end of file 8 \ No newline at end of file
libqpdf/QPDFObjectHandle.cc
@@ -2310,6 +2310,11 @@ QPDFObjectHandle::newStream(QPDF* qpdf, int objid, int generation, @@ -2310,6 +2310,11 @@ QPDFObjectHandle::newStream(QPDF* qpdf, int objid, int generation,
2310 QPDFObjectHandle 2310 QPDFObjectHandle
2311 QPDFObjectHandle::newStream(QPDF* qpdf) 2311 QPDFObjectHandle::newStream(QPDF* qpdf)
2312 { 2312 {
  2313 + if (qpdf == 0)
  2314 + {
  2315 + throw std::runtime_error(
  2316 + "attempt to create stream in null qpdf object");
  2317 + }
2313 QTC::TC("qpdf", "QPDFObjectHandle newStream"); 2318 QTC::TC("qpdf", "QPDFObjectHandle newStream");
2314 QPDFObjectHandle stream_dict = newDictionary(); 2319 QPDFObjectHandle stream_dict = newDictionary();
2315 QPDFObjectHandle result = qpdf->makeIndirectObject( 2320 QPDFObjectHandle result = qpdf->makeIndirectObject(