| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| #include <inttypes.h> |
| #include <libxml.h> |
| #include <libxml/relaxng.h> |
| #include <libxml/xmlerror.h> |
| #include <stdlib.h> |
| |
| #include <libhfuzz/libhfuzz.h> |
| |
| FILE* null_file = NULL; |
| |
| int LLVMFuzzerInitialize(int* argc, char*** argv) |
| { |
| null_file = fopen("/dev/null", "w"); |
| return 0; |
| } |
| |
| int LLVMFuzzerTestOneInput(const uint8_t* buf, size_t len) |
| { |
| xmlDocPtr p = xmlReadMemory((const char*)buf, len, "http://www.google.com", "UTF-8", XML_PARSE_RECOVER | XML_PARSE_NONET); |
| if (!p) { |
| return 0; |
| } |
| xmlDocFormatDump(null_file, p, 1); |
| xmlFreeDoc(p); |
| return 0; |
| } |
| |
| #ifdef __cplusplus |
| } |
| #endif |