From ae96a12a67733de55b73b82d4628b41f5465b671 Mon Sep 17 00:00:00 2001 From: Bradford Larsen Date: Sun, 29 Oct 2023 18:26:33 -0400 Subject: [PATCH 1/7] Add a fuzzer for `_elementtree.XMLParser._parse_whole` --- Modules/_xxtestfuzz/fuzz_tests.txt | 1 + Modules/_xxtestfuzz/fuzzer.c | 73 ++++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+) diff --git a/Modules/_xxtestfuzz/fuzz_tests.txt b/Modules/_xxtestfuzz/fuzz_tests.txt index 4e046ecf6d898c..40aa22110e7d27 100644 --- a/Modules/_xxtestfuzz/fuzz_tests.txt +++ b/Modules/_xxtestfuzz/fuzz_tests.txt @@ -7,3 +7,4 @@ fuzz_sre_match fuzz_csv_reader fuzz_struct_unpack fuzz_ast_literal_eval +fuzz_elementtree_parsewhole diff --git a/Modules/_xxtestfuzz/fuzzer.c b/Modules/_xxtestfuzz/fuzzer.c index 816ba09c8fd7de..8686553d8cbaa1 100644 --- a/Modules/_xxtestfuzz/fuzzer.c +++ b/Modules/_xxtestfuzz/fuzzer.c @@ -439,6 +439,68 @@ static int fuzz_ast_literal_eval(const char* data, size_t size) { return 0; } +#define MAX_ELEMENTTREE_PARSEWHOLE_TEST_SIZE 0x100000 +PyObject* xml_parser_type = NULL; +PyObject* bytesio_type = NULL; +/* Called by LLVMFuzzerTestOneInput for initialization */ +static int init_elementtree_parsewhole(void) { + PyObject* elementtree_module = PyImport_ImportModule("_elementtree"); + if (elementtree_module == NULL) { + return 0; + } + xml_parser_type = PyObject_GetAttrString(elementtree_module, "XMLParser"); + if (xml_parser_type == NULL) { + return 0; + } + Py_DECREF(elementtree_module); + + + PyObject* io_module = PyImport_ImportModule("io"); + if (io_module == NULL) { + return 0; + } + bytesio_type = PyObject_GetAttrString(io_module, "BytesIO"); + if (bytesio_type == NULL) { + return 0; + } + Py_DECREF(io_module); + + return 1; +} +/* Fuzz _elementtree.XMLParser._parse_whole(x) */ +static int fuzz_elementtree_parsewhole(const char* data, size_t size) { + if (size > MAX_ELEMENTTREE_PARSEWHOLE_TEST_SIZE) { + return 0; + } + + PyObject *input = PyObject_CallFunction(bytesio_type, "y#", data, (Py_ssize_t)size); + if (input == NULL) { + assert(PyErr_Occurred()); + PyErr_Print(); + abort(); + } + + PyObject *xmlparser_instance = PyObject_CallObject(xml_parser_type, NULL); + if (xmlparser_instance == NULL) { + assert(PyErr_Occurred()); + PyErr_Print(); + abort(); + } + + PyObject *result = PyObject_CallMethod(xmlparser_instance, "_parse_whole", "O", input); + if (result == NULL) { + /* Ignore exception here, which can be caused by invalid XML input */ + PyErr_Clear(); + } else { + Py_DECREF(result); + } + + Py_DECREF(xmlparser_instance); + Py_DECREF(input); + + return 0; +} + /* Run fuzzer and abort on failure. */ static int _run_fuzz(const uint8_t *data, size_t size, int(*fuzzer)(const char* , size_t)) { int rv = fuzzer((const char*) data, size); @@ -569,6 +631,17 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { } rv |= _run_fuzz(data, size, fuzz_ast_literal_eval); +#endif +#if !defined(_Py_FUZZ_ONE) || defined(_Py_FUZZ_fuzz_elementtree_parsewhole) + static int ELEMENTTREE_PARSEWHOLE_INITIALIZED = 0; + if (!ELEMENTTREE_PARSEWHOLE_INITIALIZED && !init_elementtree_parsewhole()) { + PyErr_Print(); + abort(); + } else { + ELEMENTTREE_PARSEWHOLE_INITIALIZED = 1; + } + + rv |= _run_fuzz(data, size, fuzz_elementtree_parsewhole); #endif return rv; } From 5366c0ecc48feb77f913f0c42d93a7e2c11e81ee Mon Sep 17 00:00:00 2001 From: Bradford Larsen Date: Sun, 29 Oct 2023 18:27:21 -0400 Subject: [PATCH 2/7] Add a dictionary for `fuzz_elementtree_parsewhole` --- .../fuzz_elementree_parsewhole.dict | 134 ++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 Modules/_xxtestfuzz/dictionaries/fuzz_elementree_parsewhole.dict diff --git a/Modules/_xxtestfuzz/dictionaries/fuzz_elementree_parsewhole.dict b/Modules/_xxtestfuzz/dictionaries/fuzz_elementree_parsewhole.dict new file mode 100644 index 00000000000000..e1b58cdb248238 --- /dev/null +++ b/Modules/_xxtestfuzz/dictionaries/fuzz_elementree_parsewhole.dict @@ -0,0 +1,134 @@ +tok_1="<" +tok_2=">" +tok_3="/" +tok_4="" +tok_6="" +tok_7="version" +tok_8="encoding" +tok_9="UTF-8" +tok_9a="UTF-16" +tok_9b="ASCII" +tok_9c="LATIN-1" +tok_9d="UTF-32" +tok_9e="UTF-7" +tok_10="\"" +tok_11="&" +tok_11a="&#" +tok_11b=";" +tok_12="'" +tok_13="" +tok_14="" +tag_doctype="" +tag_open_close="" +tag_open_exclamation="" +tag_xml_q="" + +encoding_utf="UTF-" +encoding_iso1="ISO-8859" +encoding_iso3="ISO-10646-UCS" +encoding_iso5="ISO-LATIN-1" +encoding_jis="SHIFT_JIS" +encoding_utf7="UTF-7" +encoding_utf16le="UTF-16BE" +encoding_utf16le="UTF-16LE" +encoding_ascii="US-ASCII" +encoding_latin1="latin1" From e8202e091bf969d1705aa40bbd6bf48b3f8f1ad9 Mon Sep 17 00:00:00 2001 From: Bradford Larsen Date: Sun, 29 Oct 2023 18:33:38 -0400 Subject: [PATCH 3/7] Add a corpus for `fuzz_elementtree_parsewhole` These files were copied from `Lib/test/xmltestdata` in this same repo. --- .../c14nComment.xml | 4 + .../c14nDefault.xml | 3 + .../c14nPrefix.xml | 4 + .../c14nPrefixQname.xml | 7 ++ .../c14nPrefixQnameXpathElem.xml | 8 ++ .../c14nQname.xml | 6 + .../c14nQnameElem.xml | 6 + .../c14nQnameXpathElem.xml | 7 ++ .../c14nTrim.xml | 4 + .../expat224_utf8_bug.xml | 2 + .../inC14N1.xml | 14 +++ .../inC14N2.xml | 11 ++ .../inC14N3.xml | 18 +++ .../inC14N4.xml | 13 ++ .../inC14N5.xml | 12 ++ .../inC14N6.xml | 2 + .../inNsContent.xml | 4 + .../inNsDefault.xml | 3 + .../inNsPushdown.xml | 6 + .../inNsRedecl.xml | 3 + .../inNsSort.xml | 4 + .../inNsSuperfluous.xml | 4 + .../inNsXml.xml | 3 + .../out_inC14N1_c14nComment.xml | 6 + .../out_inC14N1_c14nDefault.xml | 4 + .../out_inC14N2_c14nDefault.xml | 11 ++ .../out_inC14N2_c14nTrim.xml | 1 + .../out_inC14N3_c14nDefault.xml | 14 +++ .../out_inC14N3_c14nPrefix.xml | 14 +++ .../out_inC14N3_c14nTrim.xml | 1 + .../out_inC14N4_c14nDefault.xml | 10 ++ .../out_inC14N4_c14nTrim.xml | 2 + .../out_inC14N5_c14nDefault.xml | 3 + .../out_inC14N5_c14nTrim.xml | 1 + .../out_inC14N6_c14nDefault.xml | 1 + .../out_inNsContent_c14nDefault.xml | 4 + ...t_inNsContent_c14nPrefixQnameXpathElem.xml | 4 + .../out_inNsContent_c14nQnameElem.xml | 4 + .../out_inNsContent_c14nQnameXpathElem.xml | 4 + .../out_inNsDefault_c14nDefault.xml | 3 + .../out_inNsDefault_c14nPrefix.xml | 3 + .../out_inNsPushdown_c14nDefault.xml | 6 + .../out_inNsPushdown_c14nPrefix.xml | 6 + .../out_inNsRedecl_c14nDefault.xml | 3 + .../out_inNsRedecl_c14nPrefix.xml | 3 + .../out_inNsSort_c14nDefault.xml | 4 + .../out_inNsSort_c14nPrefix.xml | 4 + .../out_inNsSuperfluous_c14nDefault.xml | 4 + .../out_inNsSuperfluous_c14nPrefix.xml | 4 + .../out_inNsXml_c14nDefault.xml | 3 + .../out_inNsXml_c14nPrefix.xml | 3 + .../out_inNsXml_c14nPrefixQname.xml | 3 + .../out_inNsXml_c14nQname.xml | 3 + .../simple-ns.xml | 7 ++ .../simple.xml | 6 + .../test.xml | 115 ++++++++++++++++++ 56 files changed, 412 insertions(+) create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nComment.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nDefault.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nPrefix.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nPrefixQname.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nPrefixQnameXpathElem.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nQname.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nQnameElem.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nQnameXpathElem.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nTrim.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/expat224_utf8_bug.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inC14N1.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inC14N2.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inC14N3.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inC14N4.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inC14N5.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inC14N6.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsContent.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsDefault.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsPushdown.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsRedecl.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsSort.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsSuperfluous.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsXml.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N1_c14nComment.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N1_c14nDefault.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N2_c14nDefault.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N2_c14nTrim.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N3_c14nDefault.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N3_c14nPrefix.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N3_c14nTrim.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N4_c14nDefault.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N4_c14nTrim.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N5_c14nDefault.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N5_c14nTrim.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N6_c14nDefault.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsContent_c14nDefault.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsContent_c14nPrefixQnameXpathElem.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsContent_c14nQnameElem.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsContent_c14nQnameXpathElem.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsDefault_c14nDefault.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsDefault_c14nPrefix.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsPushdown_c14nDefault.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsPushdown_c14nPrefix.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsRedecl_c14nDefault.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsRedecl_c14nPrefix.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsSort_c14nDefault.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsSort_c14nPrefix.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsSuperfluous_c14nDefault.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsSuperfluous_c14nPrefix.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsXml_c14nDefault.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsXml_c14nPrefix.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsXml_c14nPrefixQname.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsXml_c14nQname.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/simple-ns.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/simple.xml create mode 100644 Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/test.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nComment.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nComment.xml new file mode 100644 index 00000000000000..e95aa302d04fdb --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nComment.xml @@ -0,0 +1,4 @@ + + true + + diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nDefault.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nDefault.xml new file mode 100644 index 00000000000000..c1364142cc59bf --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nDefault.xml @@ -0,0 +1,3 @@ + + + diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nPrefix.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nPrefix.xml new file mode 100644 index 00000000000000..fb233b42b1334f --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nPrefix.xml @@ -0,0 +1,4 @@ + + sequential + + diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nPrefixQname.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nPrefixQname.xml new file mode 100644 index 00000000000000..23188eedbc2451 --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nPrefixQname.xml @@ -0,0 +1,7 @@ + + sequential + + + + + diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nPrefixQnameXpathElem.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nPrefixQnameXpathElem.xml new file mode 100644 index 00000000000000..626fc48f410fa0 --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nPrefixQnameXpathElem.xml @@ -0,0 +1,8 @@ + + sequential + + + + + + diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nQname.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nQname.xml new file mode 100644 index 00000000000000..919e5903f5ce6e --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nQname.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nQnameElem.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nQnameElem.xml new file mode 100644 index 00000000000000..0321f8061952e6 --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nQnameElem.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nQnameXpathElem.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nQnameXpathElem.xml new file mode 100644 index 00000000000000..c4890bc8b01d5e --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nQnameXpathElem.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nTrim.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nTrim.xml new file mode 100644 index 00000000000000..ccb9cf65db7235 --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nTrim.xml @@ -0,0 +1,4 @@ + + true + + diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/expat224_utf8_bug.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/expat224_utf8_bug.xml new file mode 100644 index 00000000000000..d66a8e6b50f93b --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/expat224_utf8_bug.xml @@ -0,0 +1,2 @@ + diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inC14N1.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inC14N1.xml new file mode 100644 index 00000000000000..ed450c7341d382 --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inC14N1.xml @@ -0,0 +1,14 @@ + + + + + + +Hello, world! + + + + + + diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inC14N2.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inC14N2.xml new file mode 100644 index 00000000000000..74eeea147c3791 --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inC14N2.xml @@ -0,0 +1,11 @@ + + + A B + + A + + B + A B + C + + diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inC14N3.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inC14N3.xml new file mode 100644 index 00000000000000..fea78213f1ae69 --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inC14N3.xml @@ -0,0 +1,18 @@ +]> + + + + + + + + + + + + + + diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inC14N4.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inC14N4.xml new file mode 100644 index 00000000000000..909a847435b86c --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inC14N4.xml @@ -0,0 +1,13 @@ + + +]> + + First line Second line + 2 + "0" && value<"10" ?"valid":"error"]]> + valid + + + + diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inC14N5.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inC14N5.xml new file mode 100644 index 00000000000000..501161bad5187f --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inC14N5.xml @@ -0,0 +1,12 @@ + + + + + +]> + + &ent1;, &ent2;! + + + diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inC14N6.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inC14N6.xml new file mode 100644 index 00000000000000..31e2071867257c --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inC14N6.xml @@ -0,0 +1,2 @@ + +© diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsContent.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsContent.xml new file mode 100644 index 00000000000000..b9924660ba6da3 --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsContent.xml @@ -0,0 +1,4 @@ + + xsd:string + /soap-env:body/child::b:foo[@att1 != "c:val" and @att2 != 'xsd:string'] + diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsDefault.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsDefault.xml new file mode 100644 index 00000000000000..3e0d323bad27c2 --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsDefault.xml @@ -0,0 +1,3 @@ + + + diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsPushdown.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsPushdown.xml new file mode 100644 index 00000000000000..daa67d83f15914 --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsPushdown.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsRedecl.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsRedecl.xml new file mode 100644 index 00000000000000..10bd97beda3baa --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsRedecl.xml @@ -0,0 +1,3 @@ + + + diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsSort.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsSort.xml new file mode 100644 index 00000000000000..8e9fc01c647b24 --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsSort.xml @@ -0,0 +1,4 @@ + + + + diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsSuperfluous.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsSuperfluous.xml new file mode 100644 index 00000000000000..f77720f7b0b09d --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsSuperfluous.xml @@ -0,0 +1,4 @@ + + + + diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsXml.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsXml.xml new file mode 100644 index 00000000000000..7520cf3fb9eb28 --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsXml.xml @@ -0,0 +1,3 @@ + + data + diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N1_c14nComment.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N1_c14nComment.xml new file mode 100644 index 00000000000000..d98d16840c6bcc --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N1_c14nComment.xml @@ -0,0 +1,6 @@ + +Hello, world! + + + \ No newline at end of file diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N1_c14nDefault.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N1_c14nDefault.xml new file mode 100644 index 00000000000000..af9a9770578e9d --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N1_c14nDefault.xml @@ -0,0 +1,4 @@ + +Hello, world! + \ No newline at end of file diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N2_c14nDefault.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N2_c14nDefault.xml new file mode 100644 index 00000000000000..2afa15ccb36382 --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N2_c14nDefault.xml @@ -0,0 +1,11 @@ + + + A B + + A + + B + A B + C + + \ No newline at end of file diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N2_c14nTrim.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N2_c14nTrim.xml new file mode 100644 index 00000000000000..7a1dc32946bce3 --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N2_c14nTrim.xml @@ -0,0 +1 @@ +A BABA BC \ No newline at end of file diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N3_c14nDefault.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N3_c14nDefault.xml new file mode 100644 index 00000000000000..662e108aa8a1e4 --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N3_c14nDefault.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N3_c14nPrefix.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N3_c14nPrefix.xml new file mode 100644 index 00000000000000..041e1ec8ebe59a --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N3_c14nPrefix.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N3_c14nTrim.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N3_c14nTrim.xml new file mode 100644 index 00000000000000..4f35ad9662df3b --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N3_c14nTrim.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N4_c14nDefault.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N4_c14nDefault.xml new file mode 100644 index 00000000000000..243d0e61f2e94f --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N4_c14nDefault.xml @@ -0,0 +1,10 @@ + + First line +Second line + 2 + value>"0" && value<"10" ?"valid":"error" + valid + + + + \ No newline at end of file diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N4_c14nTrim.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N4_c14nTrim.xml new file mode 100644 index 00000000000000..24d83ba8ab0012 --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N4_c14nTrim.xml @@ -0,0 +1,2 @@ +First line +Second line2value>"0" && value<"10" ?"valid":"error"valid \ No newline at end of file diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N5_c14nDefault.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N5_c14nDefault.xml new file mode 100644 index 00000000000000..c232e740aee4a7 --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N5_c14nDefault.xml @@ -0,0 +1,3 @@ + + Hello, world! + \ No newline at end of file diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N5_c14nTrim.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N5_c14nTrim.xml new file mode 100644 index 00000000000000..3fa84b1e986014 --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N5_c14nTrim.xml @@ -0,0 +1 @@ +Hello, world! \ No newline at end of file diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N6_c14nDefault.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N6_c14nDefault.xml new file mode 100644 index 00000000000000..0be38f98cb1398 --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N6_c14nDefault.xml @@ -0,0 +1 @@ +© \ No newline at end of file diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsContent_c14nDefault.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsContent_c14nDefault.xml new file mode 100644 index 00000000000000..62d7e004a44034 --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsContent_c14nDefault.xml @@ -0,0 +1,4 @@ + + xsd:string + /soap-env:body/child::b:foo[@att1 != "c:val" and @att2 != 'xsd:string'] + \ No newline at end of file diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsContent_c14nPrefixQnameXpathElem.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsContent_c14nPrefixQnameXpathElem.xml new file mode 100644 index 00000000000000..20e1c2e9d6dfb4 --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsContent_c14nPrefixQnameXpathElem.xml @@ -0,0 +1,4 @@ + + n1:string + /n3:body/child::n2:foo[@att1 != "c:val" and @att2 != 'xsd:string'] + \ No newline at end of file diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsContent_c14nQnameElem.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsContent_c14nQnameElem.xml new file mode 100644 index 00000000000000..db8680daa033d7 --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsContent_c14nQnameElem.xml @@ -0,0 +1,4 @@ + + xsd:string + /soap-env:body/child::b:foo[@att1 != "c:val" and @att2 != 'xsd:string'] + \ No newline at end of file diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsContent_c14nQnameXpathElem.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsContent_c14nQnameXpathElem.xml new file mode 100644 index 00000000000000..df3b21579fac5e --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsContent_c14nQnameXpathElem.xml @@ -0,0 +1,4 @@ + + xsd:string + /soap-env:body/child::b:foo[@att1 != "c:val" and @att2 != 'xsd:string'] + \ No newline at end of file diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsDefault_c14nDefault.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsDefault_c14nDefault.xml new file mode 100644 index 00000000000000..674b076dd6d9a6 --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsDefault_c14nDefault.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsDefault_c14nPrefix.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsDefault_c14nPrefix.xml new file mode 100644 index 00000000000000..83edaae91e7423 --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsDefault_c14nPrefix.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsPushdown_c14nDefault.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsPushdown_c14nDefault.xml new file mode 100644 index 00000000000000..fa4f21b5d0af55 --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsPushdown_c14nDefault.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsPushdown_c14nPrefix.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsPushdown_c14nPrefix.xml new file mode 100644 index 00000000000000..6d579200c9dc8c --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsPushdown_c14nPrefix.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsRedecl_c14nDefault.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsRedecl_c14nDefault.xml new file mode 100644 index 00000000000000..ba37f925103c70 --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsRedecl_c14nDefault.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsRedecl_c14nPrefix.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsRedecl_c14nPrefix.xml new file mode 100644 index 00000000000000..af3bb2d6f062cd --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsRedecl_c14nPrefix.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsSort_c14nDefault.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsSort_c14nDefault.xml new file mode 100644 index 00000000000000..8a92c5c61c2c2c --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsSort_c14nDefault.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsSort_c14nPrefix.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsSort_c14nPrefix.xml new file mode 100644 index 00000000000000..8d44c84fe5d307 --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsSort_c14nPrefix.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsSuperfluous_c14nDefault.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsSuperfluous_c14nDefault.xml new file mode 100644 index 00000000000000..6bb862d763d737 --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsSuperfluous_c14nDefault.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsSuperfluous_c14nPrefix.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsSuperfluous_c14nPrefix.xml new file mode 100644 index 00000000000000..700a16d42a7746 --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsSuperfluous_c14nPrefix.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsXml_c14nDefault.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsXml_c14nDefault.xml new file mode 100644 index 00000000000000..1689f3bf423dc5 --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsXml_c14nDefault.xml @@ -0,0 +1,3 @@ + + data + \ No newline at end of file diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsXml_c14nPrefix.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsXml_c14nPrefix.xml new file mode 100644 index 00000000000000..38508a47f6b904 --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsXml_c14nPrefix.xml @@ -0,0 +1,3 @@ + + data + \ No newline at end of file diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsXml_c14nPrefixQname.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsXml_c14nPrefixQname.xml new file mode 100644 index 00000000000000..867980f82bfa59 --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsXml_c14nPrefixQname.xml @@ -0,0 +1,3 @@ + + data + \ No newline at end of file diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsXml_c14nQname.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsXml_c14nQname.xml new file mode 100644 index 00000000000000..0300f9d562db30 --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsXml_c14nQname.xml @@ -0,0 +1,3 @@ + + data + \ No newline at end of file diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/simple-ns.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/simple-ns.xml new file mode 100644 index 00000000000000..f1f34b2e29c73e --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/simple-ns.xml @@ -0,0 +1,7 @@ + + + + text + texttail + + diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/simple.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/simple.xml new file mode 100644 index 00000000000000..b88c2c7e69a088 --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/simple.xml @@ -0,0 +1,6 @@ + + + text + texttail + + diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/test.xml b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/test.xml new file mode 100644 index 00000000000000..92136da76d3581 --- /dev/null +++ b/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/test.xml @@ -0,0 +1,115 @@ + + +Introduction to XSL +

Introduction to XSL

+ + + +
+

Overview +

+
    + +
  • 1.Intro
  • + +
  • 2.History
  • + +
  • 3.XSL Basics
  • + +
  • Lunch
  • + +
  • 4.An XML Data Model
  • + +
  • 5.XSL Patterns
  • + +
  • 6.XSL Templates
  • + +
  • 7.XSL Formatting Model +
  • + +
+ + + + + + +
+

Intro

+
    + +
  • Who am I?
  • + +
  • Who are you?
  • + +
  • Why are we here? +
  • + +
+ + + + + + +
+

History: XML and SGML

+
    + +
  • XML is a subset of SGML.
  • + +
  • SGML allows the separation of abstract content from formatting.
  • + +
  • Also one of XML's primary virtues (in the doc publishing domain). +
  • + +
+ + + + + + +
+

History: What are stylesheets?

+
    + +
  • Stylesheets specify the formatting of SGML/XML documents.
  • + +
  • Stylesheets put the "style" back into documents.
  • + +
  • New York Times content+NYT Stylesheet = NYT paper +
  • + +
+ + + + + + +
+

History: FOSI

+
    + +
  • FOSI: "Formatted Output Specification Instance" +
      +
    • MIL-STD-28001 +
    • + +
    • FOSI's are SGML documents +
    • + +
    • A stylesheet for another document +
    • +
  • + +
  • Obsolete but implemented... +
  • + +
+ + + + + From 446f1c04964d21f1499cd3ce2a13da27c3296321 Mon Sep 17 00:00:00 2001 From: Bradford Larsen Date: Sun, 29 Oct 2023 23:12:51 -0400 Subject: [PATCH 4/7] Note new fuzzer global variables to appease the checker --- Tools/c-analyzer/cpython/ignored.tsv | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Tools/c-analyzer/cpython/ignored.tsv b/Tools/c-analyzer/cpython/ignored.tsv index eea633a15056dd..490d2176d21251 100644 --- a/Tools/c-analyzer/cpython/ignored.tsv +++ b/Tools/c-analyzer/cpython/ignored.tsv @@ -589,6 +589,7 @@ Modules/_xxtestfuzz/_xxtestfuzz.c - _fuzzmodule - Modules/_xxtestfuzz/_xxtestfuzz.c - module_methods - Modules/_xxtestfuzz/fuzzer.c - RE_FLAG_DEBUG - Modules/_xxtestfuzz/fuzzer.c - ast_literal_eval_method - +Modules/_xxtestfuzz/fuzzer.c - bytesio_type - Modules/_xxtestfuzz/fuzzer.c - compiled_patterns - Modules/_xxtestfuzz/fuzzer.c - csv_error - Modules/_xxtestfuzz/fuzzer.c - csv_module - @@ -598,12 +599,14 @@ Modules/_xxtestfuzz/fuzzer.c - re_compile_method - Modules/_xxtestfuzz/fuzzer.c - re_error_exception - Modules/_xxtestfuzz/fuzzer.c - struct_error - Modules/_xxtestfuzz/fuzzer.c - struct_unpack_method - +Modules/_xxtestfuzz/fuzzer.c - xml_parser_type - Modules/_xxtestfuzz/fuzzer.c LLVMFuzzerTestOneInput CSV_READER_INITIALIZED - Modules/_xxtestfuzz/fuzzer.c LLVMFuzzerTestOneInput JSON_LOADS_INITIALIZED - Modules/_xxtestfuzz/fuzzer.c LLVMFuzzerTestOneInput SRE_COMPILE_INITIALIZED - Modules/_xxtestfuzz/fuzzer.c LLVMFuzzerTestOneInput SRE_MATCH_INITIALIZED - Modules/_xxtestfuzz/fuzzer.c LLVMFuzzerTestOneInput STRUCT_UNPACK_INITIALIZED - Modules/_xxtestfuzz/fuzzer.c LLVMFuzzerTestOneInput AST_LITERAL_EVAL_INITIALIZED - +Modules/_xxtestfuzz/fuzzer.c LLVMFuzzerTestOneInput ELEMENTTREE_PARSEWHOLE_INITIALIZED - ##----------------------- ## the analyzer should have ignored these From d1f489a174b1486e1e2eecdc50c6bff22c0c633b Mon Sep 17 00:00:00 2001 From: Bradford Larsen Date: Sun, 29 Oct 2023 23:24:21 -0400 Subject: [PATCH 5/7] Fix typo in dictionary and corpus names --- ...lementree_parsewhole.dict => fuzz_elementtree_parsewhole.dict} | 0 .../c14nComment.xml | 0 .../c14nDefault.xml | 0 .../c14nPrefix.xml | 0 .../c14nPrefixQname.xml | 0 .../c14nPrefixQnameXpathElem.xml | 0 .../c14nQname.xml | 0 .../c14nQnameElem.xml | 0 .../c14nQnameXpathElem.xml | 0 .../c14nTrim.xml | 0 .../expat224_utf8_bug.xml | 0 .../inC14N1.xml | 0 .../inC14N2.xml | 0 .../inC14N3.xml | 0 .../inC14N4.xml | 0 .../inC14N5.xml | 0 .../inC14N6.xml | 0 .../inNsContent.xml | 0 .../inNsDefault.xml | 0 .../inNsPushdown.xml | 0 .../inNsRedecl.xml | 0 .../inNsSort.xml | 0 .../inNsSuperfluous.xml | 0 .../inNsXml.xml | 0 .../out_inC14N1_c14nComment.xml | 0 .../out_inC14N1_c14nDefault.xml | 0 .../out_inC14N2_c14nDefault.xml | 0 .../out_inC14N2_c14nTrim.xml | 0 .../out_inC14N3_c14nDefault.xml | 0 .../out_inC14N3_c14nPrefix.xml | 0 .../out_inC14N3_c14nTrim.xml | 0 .../out_inC14N4_c14nDefault.xml | 0 .../out_inC14N4_c14nTrim.xml | 0 .../out_inC14N5_c14nDefault.xml | 0 .../out_inC14N5_c14nTrim.xml | 0 .../out_inC14N6_c14nDefault.xml | 0 .../out_inNsContent_c14nDefault.xml | 0 .../out_inNsContent_c14nPrefixQnameXpathElem.xml | 0 .../out_inNsContent_c14nQnameElem.xml | 0 .../out_inNsContent_c14nQnameXpathElem.xml | 0 .../out_inNsDefault_c14nDefault.xml | 0 .../out_inNsDefault_c14nPrefix.xml | 0 .../out_inNsPushdown_c14nDefault.xml | 0 .../out_inNsPushdown_c14nPrefix.xml | 0 .../out_inNsRedecl_c14nDefault.xml | 0 .../out_inNsRedecl_c14nPrefix.xml | 0 .../out_inNsSort_c14nDefault.xml | 0 .../out_inNsSort_c14nPrefix.xml | 0 .../out_inNsSuperfluous_c14nDefault.xml | 0 .../out_inNsSuperfluous_c14nPrefix.xml | 0 .../out_inNsXml_c14nDefault.xml | 0 .../out_inNsXml_c14nPrefix.xml | 0 .../out_inNsXml_c14nPrefixQname.xml | 0 .../out_inNsXml_c14nQname.xml | 0 .../simple-ns.xml | 0 .../simple.xml | 0 .../test.xml | 0 57 files changed, 0 insertions(+), 0 deletions(-) rename Modules/_xxtestfuzz/dictionaries/{fuzz_elementree_parsewhole.dict => fuzz_elementtree_parsewhole.dict} (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/c14nComment.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/c14nDefault.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/c14nPrefix.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/c14nPrefixQname.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/c14nPrefixQnameXpathElem.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/c14nQname.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/c14nQnameElem.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/c14nQnameXpathElem.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/c14nTrim.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/expat224_utf8_bug.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/inC14N1.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/inC14N2.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/inC14N3.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/inC14N4.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/inC14N5.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/inC14N6.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/inNsContent.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/inNsDefault.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/inNsPushdown.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/inNsRedecl.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/inNsSort.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/inNsSuperfluous.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/inNsXml.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/out_inC14N1_c14nComment.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/out_inC14N1_c14nDefault.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/out_inC14N2_c14nDefault.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/out_inC14N2_c14nTrim.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/out_inC14N3_c14nDefault.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/out_inC14N3_c14nPrefix.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/out_inC14N3_c14nTrim.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/out_inC14N4_c14nDefault.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/out_inC14N4_c14nTrim.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/out_inC14N5_c14nDefault.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/out_inC14N5_c14nTrim.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/out_inC14N6_c14nDefault.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/out_inNsContent_c14nDefault.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/out_inNsContent_c14nPrefixQnameXpathElem.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/out_inNsContent_c14nQnameElem.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/out_inNsContent_c14nQnameXpathElem.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/out_inNsDefault_c14nDefault.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/out_inNsDefault_c14nPrefix.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/out_inNsPushdown_c14nDefault.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/out_inNsPushdown_c14nPrefix.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/out_inNsRedecl_c14nDefault.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/out_inNsRedecl_c14nPrefix.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/out_inNsSort_c14nDefault.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/out_inNsSort_c14nPrefix.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/out_inNsSuperfluous_c14nDefault.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/out_inNsSuperfluous_c14nPrefix.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/out_inNsXml_c14nDefault.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/out_inNsXml_c14nPrefix.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/out_inNsXml_c14nPrefixQname.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/out_inNsXml_c14nQname.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/simple-ns.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/simple.xml (100%) rename Modules/_xxtestfuzz/{fuzz_elementree_parsewhole_corpus => fuzz_elementtree_parsewhole_corpus}/test.xml (100%) diff --git a/Modules/_xxtestfuzz/dictionaries/fuzz_elementree_parsewhole.dict b/Modules/_xxtestfuzz/dictionaries/fuzz_elementtree_parsewhole.dict similarity index 100% rename from Modules/_xxtestfuzz/dictionaries/fuzz_elementree_parsewhole.dict rename to Modules/_xxtestfuzz/dictionaries/fuzz_elementtree_parsewhole.dict diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nComment.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/c14nComment.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nComment.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/c14nComment.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nDefault.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/c14nDefault.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nDefault.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/c14nDefault.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nPrefix.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/c14nPrefix.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nPrefix.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/c14nPrefix.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nPrefixQname.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/c14nPrefixQname.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nPrefixQname.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/c14nPrefixQname.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nPrefixQnameXpathElem.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/c14nPrefixQnameXpathElem.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nPrefixQnameXpathElem.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/c14nPrefixQnameXpathElem.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nQname.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/c14nQname.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nQname.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/c14nQname.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nQnameElem.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/c14nQnameElem.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nQnameElem.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/c14nQnameElem.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nQnameXpathElem.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/c14nQnameXpathElem.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nQnameXpathElem.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/c14nQnameXpathElem.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nTrim.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/c14nTrim.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/c14nTrim.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/c14nTrim.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/expat224_utf8_bug.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/expat224_utf8_bug.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/expat224_utf8_bug.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/expat224_utf8_bug.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inC14N1.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/inC14N1.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inC14N1.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/inC14N1.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inC14N2.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/inC14N2.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inC14N2.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/inC14N2.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inC14N3.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/inC14N3.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inC14N3.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/inC14N3.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inC14N4.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/inC14N4.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inC14N4.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/inC14N4.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inC14N5.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/inC14N5.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inC14N5.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/inC14N5.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inC14N6.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/inC14N6.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inC14N6.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/inC14N6.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsContent.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/inNsContent.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsContent.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/inNsContent.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsDefault.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/inNsDefault.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsDefault.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/inNsDefault.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsPushdown.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/inNsPushdown.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsPushdown.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/inNsPushdown.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsRedecl.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/inNsRedecl.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsRedecl.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/inNsRedecl.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsSort.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/inNsSort.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsSort.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/inNsSort.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsSuperfluous.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/inNsSuperfluous.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsSuperfluous.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/inNsSuperfluous.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsXml.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/inNsXml.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/inNsXml.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/inNsXml.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N1_c14nComment.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inC14N1_c14nComment.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N1_c14nComment.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inC14N1_c14nComment.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N1_c14nDefault.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inC14N1_c14nDefault.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N1_c14nDefault.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inC14N1_c14nDefault.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N2_c14nDefault.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inC14N2_c14nDefault.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N2_c14nDefault.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inC14N2_c14nDefault.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N2_c14nTrim.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inC14N2_c14nTrim.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N2_c14nTrim.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inC14N2_c14nTrim.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N3_c14nDefault.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inC14N3_c14nDefault.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N3_c14nDefault.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inC14N3_c14nDefault.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N3_c14nPrefix.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inC14N3_c14nPrefix.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N3_c14nPrefix.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inC14N3_c14nPrefix.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N3_c14nTrim.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inC14N3_c14nTrim.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N3_c14nTrim.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inC14N3_c14nTrim.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N4_c14nDefault.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inC14N4_c14nDefault.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N4_c14nDefault.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inC14N4_c14nDefault.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N4_c14nTrim.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inC14N4_c14nTrim.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N4_c14nTrim.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inC14N4_c14nTrim.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N5_c14nDefault.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inC14N5_c14nDefault.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N5_c14nDefault.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inC14N5_c14nDefault.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N5_c14nTrim.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inC14N5_c14nTrim.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N5_c14nTrim.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inC14N5_c14nTrim.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N6_c14nDefault.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inC14N6_c14nDefault.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inC14N6_c14nDefault.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inC14N6_c14nDefault.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsContent_c14nDefault.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inNsContent_c14nDefault.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsContent_c14nDefault.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inNsContent_c14nDefault.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsContent_c14nPrefixQnameXpathElem.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inNsContent_c14nPrefixQnameXpathElem.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsContent_c14nPrefixQnameXpathElem.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inNsContent_c14nPrefixQnameXpathElem.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsContent_c14nQnameElem.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inNsContent_c14nQnameElem.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsContent_c14nQnameElem.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inNsContent_c14nQnameElem.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsContent_c14nQnameXpathElem.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inNsContent_c14nQnameXpathElem.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsContent_c14nQnameXpathElem.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inNsContent_c14nQnameXpathElem.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsDefault_c14nDefault.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inNsDefault_c14nDefault.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsDefault_c14nDefault.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inNsDefault_c14nDefault.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsDefault_c14nPrefix.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inNsDefault_c14nPrefix.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsDefault_c14nPrefix.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inNsDefault_c14nPrefix.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsPushdown_c14nDefault.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inNsPushdown_c14nDefault.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsPushdown_c14nDefault.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inNsPushdown_c14nDefault.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsPushdown_c14nPrefix.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inNsPushdown_c14nPrefix.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsPushdown_c14nPrefix.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inNsPushdown_c14nPrefix.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsRedecl_c14nDefault.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inNsRedecl_c14nDefault.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsRedecl_c14nDefault.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inNsRedecl_c14nDefault.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsRedecl_c14nPrefix.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inNsRedecl_c14nPrefix.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsRedecl_c14nPrefix.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inNsRedecl_c14nPrefix.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsSort_c14nDefault.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inNsSort_c14nDefault.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsSort_c14nDefault.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inNsSort_c14nDefault.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsSort_c14nPrefix.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inNsSort_c14nPrefix.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsSort_c14nPrefix.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inNsSort_c14nPrefix.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsSuperfluous_c14nDefault.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inNsSuperfluous_c14nDefault.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsSuperfluous_c14nDefault.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inNsSuperfluous_c14nDefault.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsSuperfluous_c14nPrefix.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inNsSuperfluous_c14nPrefix.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsSuperfluous_c14nPrefix.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inNsSuperfluous_c14nPrefix.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsXml_c14nDefault.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inNsXml_c14nDefault.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsXml_c14nDefault.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inNsXml_c14nDefault.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsXml_c14nPrefix.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inNsXml_c14nPrefix.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsXml_c14nPrefix.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inNsXml_c14nPrefix.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsXml_c14nPrefixQname.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inNsXml_c14nPrefixQname.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsXml_c14nPrefixQname.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inNsXml_c14nPrefixQname.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsXml_c14nQname.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inNsXml_c14nQname.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/out_inNsXml_c14nQname.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/out_inNsXml_c14nQname.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/simple-ns.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/simple-ns.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/simple-ns.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/simple-ns.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/simple.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/simple.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/simple.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/simple.xml diff --git a/Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/test.xml b/Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/test.xml similarity index 100% rename from Modules/_xxtestfuzz/fuzz_elementree_parsewhole_corpus/test.xml rename to Modules/_xxtestfuzz/fuzz_elementtree_parsewhole_corpus/test.xml From 38d5abc301a2e82f9dc4b172f3c5076583d424be Mon Sep 17 00:00:00 2001 From: Bradford Larsen Date: Tue, 31 Oct 2023 21:13:33 -0400 Subject: [PATCH 6/7] Rename global variable; fix refcounting leaks --- Modules/_xxtestfuzz/fuzzer.c | 12 ++++++------ Tools/c-analyzer/cpython/ignored.tsv | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Modules/_xxtestfuzz/fuzzer.c b/Modules/_xxtestfuzz/fuzzer.c index 8686553d8cbaa1..738d5786540e43 100644 --- a/Modules/_xxtestfuzz/fuzzer.c +++ b/Modules/_xxtestfuzz/fuzzer.c @@ -440,7 +440,7 @@ static int fuzz_ast_literal_eval(const char* data, size_t size) { } #define MAX_ELEMENTTREE_PARSEWHOLE_TEST_SIZE 0x100000 -PyObject* xml_parser_type = NULL; +PyObject* xmlparser_type = NULL; PyObject* bytesio_type = NULL; /* Called by LLVMFuzzerTestOneInput for initialization */ static int init_elementtree_parsewhole(void) { @@ -448,22 +448,22 @@ static int init_elementtree_parsewhole(void) { if (elementtree_module == NULL) { return 0; } - xml_parser_type = PyObject_GetAttrString(elementtree_module, "XMLParser"); - if (xml_parser_type == NULL) { + xmlparser_type = PyObject_GetAttrString(elementtree_module, "XMLParser"); + Py_DECREF(elementtree_module); + if (xmlparser_type == NULL) { return 0; } - Py_DECREF(elementtree_module); PyObject* io_module = PyImport_ImportModule("io"); if (io_module == NULL) { return 0; } + Py_DECREF(io_module); bytesio_type = PyObject_GetAttrString(io_module, "BytesIO"); if (bytesio_type == NULL) { return 0; } - Py_DECREF(io_module); return 1; } @@ -480,7 +480,7 @@ static int fuzz_elementtree_parsewhole(const char* data, size_t size) { abort(); } - PyObject *xmlparser_instance = PyObject_CallObject(xml_parser_type, NULL); + PyObject *xmlparser_instance = PyObject_CallObject(xmlparser_type, NULL); if (xmlparser_instance == NULL) { assert(PyErr_Occurred()); PyErr_Print(); diff --git a/Tools/c-analyzer/cpython/ignored.tsv b/Tools/c-analyzer/cpython/ignored.tsv index 490d2176d21251..68d32b78eed18e 100644 --- a/Tools/c-analyzer/cpython/ignored.tsv +++ b/Tools/c-analyzer/cpython/ignored.tsv @@ -599,7 +599,7 @@ Modules/_xxtestfuzz/fuzzer.c - re_compile_method - Modules/_xxtestfuzz/fuzzer.c - re_error_exception - Modules/_xxtestfuzz/fuzzer.c - struct_error - Modules/_xxtestfuzz/fuzzer.c - struct_unpack_method - -Modules/_xxtestfuzz/fuzzer.c - xml_parser_type - +Modules/_xxtestfuzz/fuzzer.c - xmlparser_type - Modules/_xxtestfuzz/fuzzer.c LLVMFuzzerTestOneInput CSV_READER_INITIALIZED - Modules/_xxtestfuzz/fuzzer.c LLVMFuzzerTestOneInput JSON_LOADS_INITIALIZED - Modules/_xxtestfuzz/fuzzer.c LLVMFuzzerTestOneInput SRE_COMPILE_INITIALIZED - From fd537450f1d74d77e0c47204d9c54b559b38335d Mon Sep 17 00:00:00 2001 From: "Gregory P. Smith" Date: Tue, 31 Oct 2023 21:39:00 -0700 Subject: [PATCH 7/7] move DECREF io_module to the right spot --- Modules/_xxtestfuzz/fuzzer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/_xxtestfuzz/fuzzer.c b/Modules/_xxtestfuzz/fuzzer.c index 738d5786540e43..77d29ce773a04b 100644 --- a/Modules/_xxtestfuzz/fuzzer.c +++ b/Modules/_xxtestfuzz/fuzzer.c @@ -459,8 +459,8 @@ static int init_elementtree_parsewhole(void) { if (io_module == NULL) { return 0; } - Py_DECREF(io_module); bytesio_type = PyObject_GetAttrString(io_module, "BytesIO"); + Py_DECREF(io_module); if (bytesio_type == NULL) { return 0; }