fuzz: Fix failure injection in schema fuzzer
diff --git a/fuzz/api.c b/fuzz/api.c index 0bbe8ce..c2831f9 100644 --- a/fuzz/api.c +++ b/fuzz/api.c
@@ -35,7 +35,9 @@ #include <stdlib.h> #include <string.h> -#define XML_DEPRECATED +#ifndef XML_DEPRECATED + #define XML_DEPRECATED +#endif #include <libxml/catalog.h> #include <libxml/HTMLtree.h>
diff --git a/fuzz/schema.c b/fuzz/schema.c index 388fdc5..edc30c0 100644 --- a/fuzz/schema.c +++ b/fuzz/schema.c
@@ -4,8 +4,13 @@ * See Copyright for the status of this software. */ +#ifndef XML_DEPRECATED + #define XML_DEPRECATED +#endif + #include <libxml/catalog.h> #include <libxml/xmlschemas.h> +#include <libxml/xmlschemastypes.h> #include "fuzz.h" int @@ -30,9 +35,10 @@ if (size > 200000) return(0); + xmlFuzzDataInit(data, size); + failurePos = xmlFuzzReadInt(4) % (size + 100); - xmlFuzzDataInit(data, size); xmlFuzzReadEntities(); xmlFuzzInjectFailure(failurePos); @@ -66,6 +72,7 @@ xmlFuzzInjectFailure(0); xmlFuzzDataCleanup(); xmlResetLastError(); + xmlSchemaCleanupTypes(); return(0); }
diff --git a/fuzz/testFuzzer.c b/fuzz/testFuzzer.c index 8ffc1f0..1045ab5 100644 --- a/fuzz/testFuzzer.c +++ b/fuzz/testFuzzer.c
@@ -5,6 +5,10 @@ * See Copyright for the status of this software. */ +#ifndef XML_DEPRECATED + #define XML_DEPRECATED +#endif + #include <string.h> #include <glob.h> #include <libxml/parser.h>