aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fuzz/qpdf_extra/16301.fuzz7
-rw-r--r--libqpdf/QPDFObjectHandle.cc5
2 files changed, 12 insertions, 0 deletions
diff --git a/fuzz/qpdf_extra/16301.fuzz b/fuzz/qpdf_extra/16301.fuzz
new file mode 100644
index 00000000..a9a066bb
--- /dev/null
+++ b/fuzz/qpdf_extra/16301.fuzz
@@ -0,0 +1,7 @@
+ 1 0 obj << /AcroForm<< /Fields ÿ /NeedAppearances true>> /Pages 16 0 R >>
+endobj
+15 0 obj << /Annots [ << ÿ /FT/Ch/Subtype /Widget >>
+endobj
+16 0 obj <<ÿÿÿÿ/Kids[15 0 R] >>
+endobj
+trailer << /Root 1 0 R >> ]>> ÿ ÿ \ No newline at end of file
diff --git a/libqpdf/QPDFObjectHandle.cc b/libqpdf/QPDFObjectHandle.cc
index 04149b22..a6d07190 100644
--- a/libqpdf/QPDFObjectHandle.cc
+++ b/libqpdf/QPDFObjectHandle.cc
@@ -2310,6 +2310,11 @@ QPDFObjectHandle::newStream(QPDF* qpdf, int objid, int generation,
QPDFObjectHandle
QPDFObjectHandle::newStream(QPDF* qpdf)
{
+ if (qpdf == 0)
+ {
+ throw std::runtime_error(
+ "attempt to create stream in null qpdf object");
+ }
QTC::TC("qpdf", "QPDFObjectHandle newStream");
QPDFObjectHandle stream_dict = newDictionary();
QPDFObjectHandle result = qpdf->makeIndirectObject(