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>