fuzz


Log

Author Commit Date CI Message
Nick Wellnhofer 804c5297 2020-08-17T03:37:18 Stop using maxParserDepth in xpath.c Only use a single maxDepth value.
Nick Wellnhofer 0ff52748 2020-08-17T02:54:28 Fix autotools warnings
Nick Wellnhofer 10a07948 2020-08-08T17:46:11 Fix XPath fuzzer
Nick Wellnhofer 6c128fd5 2020-06-05T13:43:45 Fuzz XInclude engine
Nick Wellnhofer ad26a60f 2020-08-06T13:20:01 Add XPath and XPointer fuzzer
Nick Wellnhofer 905820a4 2020-07-12T22:59:39 Update fuzzing code - Shorten timeouts - Align options from Makefile and options files - Add section headers to Makefile - Skip invalid UTF-8 in regexp fuzzer - Update regexp.dict - Generate HTML seed corpus in correct format
Nick Wellnhofer 93ce33c2 2020-07-23T17:34:08 Fix several quadratic runtime issues in HTML push parser Fix a few remaining cases where the HTML push parser would scan more content during lookahead than being parsed later. Make sure that htmlParseDocTypeDecl consumes all content up to the final '>' in case of errors. The old comment said "We shouldn't try to resynchronize", but ignoring invalid content is also what the HTML5 spec mandates. Likewise, make htmlParseEndTag skip to the final '>' in invalid end tags even if not in recovery mode. This is probably the most visible change in practice and leads to different output for some tests but is also more in line with HTML5. Make sure that htmlParsePI and htmlParseComment don't abort if invalid characters are encountered but log an error and ignore the character. Change some other end-of-buffer checks to test for a zero byte instead of relying on IS_CHAR. Fix usage of IS_CHAR macro in htmlParseScript.
Nick Wellnhofer eac1c7e2 2020-06-21T14:42:00 Fuzz target for XML Schemas This only tests the schema parser for now.
Nick Wellnhofer ffd31dbe 2020-06-21T12:14:19 Move entity recorder to fuzz.c
Nick Wellnhofer 536f421d 2020-06-15T12:20:54 Fuzz target for HTML parser
Nick Wellnhofer e98150d4 2020-06-09T13:45:31 Add options file for xml fuzzer This will be picked up OSS-Fuzz, limiting the maximum input size to 80 KB and hopefully avoiding timeouts. Some of the timeouts seem to be related to our suboptimal handling of excessive entity expansion. The new fuzzers support external entities and make this problem even more prominent.
Nick Wellnhofer 00ed736e 2020-06-05T12:49:25 Add a couple of libFuzzer targets - XML fuzzer Currently tests the pull parser, push parser and reader, as well as serialization. Supports splitting fuzz data into multiple documents for things like external DTDs or entities. The seed corpus is built from parts of the test suite. - Regexp fuzzer Seed corpus was statically generated from test suite. - URI fuzzer Tests parsing and most other functions from uri.c.