fixed xmlIOParseDTD handling of @input in error case, Should fix #335085
* parser.c: fixed xmlIOParseDTD handling of @input in error case,
Should fix #335085
* testapi.c: reset the http_proxy env variable to not waste time
on regression tests
Daniel
diff --git a/ChangeLog b/ChangeLog
index 8ca31e2..86870c9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Fri Oct 13 12:27:22 CEST 2006 Daniel Veillard <daniel@veillard.com>
+
+ * parser.c: fixed xmlIOParseDTD handling of @input in error case,
+ Should fix #335085
+ * testapi.c: reset the http_proxy env variable to not waste time
+ on regression tests
+
Thu Oct 12 23:07:43 CEST 2006 Rob Richards <rrichards@ctindustries.net>
* xmlIO.c: fix Windows compile - missing xmlWrapOpen.
diff --git a/parser.c b/parser.c
index ea95712..a79e27a 100644
--- a/parser.c
+++ b/parser.c
@@ -10827,7 +10827,7 @@
* Load and parse a DTD
*
* Returns the resulting xmlDtdPtr or NULL in case of error.
- * @input will be freed at parsing end.
+ * @input will be freed by the function in any case.
*/
xmlDtdPtr
@@ -10843,6 +10843,7 @@
ctxt = xmlNewParserCtxt();
if (ctxt == NULL) {
+ xmlFreeParserInputBuffer(input);
return(NULL);
}
@@ -10864,6 +10865,7 @@
pinput = xmlNewIOInputStream(ctxt, input, XML_CHAR_ENCODING_NONE);
if (pinput == NULL) {
if (sax != NULL) ctxt->sax = NULL;
+ xmlFreeParserInputBuffer(input);
xmlFreeParserCtxt(ctxt);
return(NULL);
}
diff --git a/testapi.c b/testapi.c
index ec09421..815ed54 100644
--- a/testapi.c
+++ b/testapi.c
@@ -14,6 +14,7 @@
#include <stdio.h>
#endif
+#include <stdlib.h> /* for putenv() */
#include <string.h>
#include <libxml/xmlerror.h>
#include <libxml/relaxng.h>
@@ -126,6 +127,9 @@
int ret;
int blocks, mem;
+ /* access to the proxy can slow up regression tests a lot */
+ putenv("http_proxy=");
+
memset(chartab, 0, sizeof(chartab));
strncpy((char *) chartab, " chartab\n", 20);
memset(inttab, 0, sizeof(inttab));