xmllint: Fix memory leak in error case
diff --git a/xmllint.c b/xmllint.c
index 1dc7e6a..511b6ed 100644
--- a/xmllint.c
+++ b/xmllint.c
@@ -2578,6 +2578,9 @@
 	xmlDebugDumpEntities(ERR_STREAM, doc);
 #endif
 
+    /* Avoid unused label warning */
+    goto done;
+
 done:
     /*
      * free it.
@@ -3490,6 +3493,9 @@
 	usage(ERR_STREAM, argv[0]);
         progresult = XMLLINT_ERR_UNCLASS;
     }
+
+error:
+
 #ifdef LIBXML_SCHEMATRON_ENABLED
     if (wxschematron != NULL)
 	xmlSchematronFree(wxschematron);
@@ -3505,10 +3511,6 @@
         xmlFreePattern(patternc);
 #endif
 
-    /* Avoid unused label warning if features are disabled. */
-    goto error;
-
-error:
     xmlCleanupParser();
 
     return(progresult);