1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2024-10-26 20:25:14 +03:00

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
This commit is contained in:
Daniel Veillard 2006-10-13 10:28:21 +00:00
parent 6460f92562
commit 402b34475d
3 changed files with 14 additions and 1 deletions

View File

@ -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.

View File

@ -10827,7 +10827,7 @@ xmlCreateIOParserCtxt(xmlSAXHandlerPtr sax, void *user_data,
* 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 @@ xmlIOParseDTD(xmlSAXHandlerPtr sax, xmlParserInputBufferPtr input,
ctxt = xmlNewParserCtxt();
if (ctxt == NULL) {
xmlFreeParserInputBuffer(input);
return(NULL);
}
@ -10864,6 +10865,7 @@ xmlIOParseDTD(xmlSAXHandlerPtr sax, xmlParserInputBufferPtr input,
pinput = xmlNewIOInputStream(ctxt, input, XML_CHAR_ENCODING_NONE);
if (pinput == NULL) {
if (sax != NULL) ctxt->sax = NULL;
xmlFreeParserInputBuffer(input);
xmlFreeParserCtxt(ctxt);
return(NULL);
}

View File

@ -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 main(int argc, char **argv) {
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));