From f0fb19df9d31a550960fac12a6cc96432b885bba Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Sun, 4 Feb 2024 16:00:36 -0500 Subject: Add json fuzzer with seed files from #1123 and test suite ...as well as some cases generated in CI from earlier attempts at fixing this. --- .../2f14d03ad49050d30929e5689ec98d5eda314e46 | 135 +++++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 fuzz/json_fuzzer_seed_corpus/2f14d03ad49050d30929e5689ec98d5eda314e46 (limited to 'fuzz/json_fuzzer_seed_corpus/2f14d03ad49050d30929e5689ec98d5eda314e46') diff --git a/fuzz/json_fuzzer_seed_corpus/2f14d03ad49050d30929e5689ec98d5eda314e46 b/fuzz/json_fuzzer_seed_corpus/2f14d03ad49050d30929e5689ec98d5eda314e46 new file mode 100644 index 00000000..5f004474 --- /dev/null +++ b/fuzz/json_fuzzer_seed_corpus/2f14d03ad49050d30929e5689ec98d5eda314e46 @@ -0,0 +1,135 @@ +{ + "qpdf": [ + { + "jsonversion": 2, + "pdfversion": "2.0", + "pushedinheritedpageresources": false, + "calledgetallpages": false, + "maxobjectid": 9 + }, + { + "obj:1 0 R": { + "value": { + "/Pages": "2 0 R", + "/Type": "/Catalog" + } + }, + "obj:2 0 R": { + "value": { + "/Count": 1, + "/Kids": [ + "3 0 R" + ], + "/Type": "/Pages" + } + }, + "obj:3 0 R": { + "value": { + "/Contents": "4 0 R", + "/MediaBox": [ + 0, + 0, + 612, + 792 + ], + "/Parent": "2 0 R", + "/Resources": { + "/Font": { + "/F1": "6 0 R" + }, + "/ProcSet": "5 0 R" + }, + "/Type": "/Page" + } + }, + "obj:4 0 R": { + "stream": { + "data": "QlQKICAvRjEgMjQgVGYKICA3MiA3MjAgVGQKICAoUG90YXRvKSBUagpFVAo=", + "dict": {} + } + }, + "obj:5 0 R": { + "value": [ + "/PDF", + "/Text" + ] + }, + "obj:6 0 R": { + "value": { + "/BaseFont": "/Helvetica", + "/Encoding": "/WinAnsiEncoding", + "/Name": "/F1", + "/Subtype": "/Type1", + "/Type": "/Font" + } + }, + "obj:7 0 R": { + "value": { + "/dangling-ref-for-json-test": [ + "9 0 R" + ], + "/hex strings": [ + "u:Potato", + "b:01020300040560", + "u:AB" + ], + "/indirect": "8 0 R", + "/names": [ + "/nesting", + "/hex strings", + "/text/plain" + ], + "/nesting": { + "/a": [ + 1, + 2, + { + "/x": "u:y" + }, + [ + "u:z" + ] + ], + "/b": { + "/": "u:legal", + "/a": [ + 1, + 2 + ] + } + }, + "/strings": [ + "u:one", + "b:24a2", + "u:", + "u:()", + "u:(", + "u:)", + "u:a\f\b\t\r\nb", + "u:\"", + "u:\"\"", + "u:\"(\")\"", + "b:410042", + "u:a\nb", + "u:a b", + "u:π", + "u:🥔" + ] + } + }, + "obj:8 0 R": { + "value": "u:hello" + }, + "obj:9 0 R": { + "value": null + }, + "trailer": { + "value": { + "/QTest": "7 0 R", + "/Root": "1 0 R", + "/Size": 9 + } + } + } + ] +} -- cgit v1.2.3-54-g00ecf