integrated the Out Of Memory test from Havoc Pennington #109368 a lot of
* Makefile.am testOOM.c testOOMlib.[ch] : integrated the Out Of
Memory test from Havoc Pennington #109368
* SAX.c parser.c parserInternals.c tree.c uri.c valid.c
xmlmemory.c xmlreader.c xmlregexp.c include/libxml/tree.h
include/libxml/parser.h: a lot of memory allocation cleanups
based on the results of the OOM testing
* check-relaxng-test-suite2.py: seems I forgot to commit the
script.
Daniel
diff --git a/xmlreader.c b/xmlreader.c
index 9a24110..c7b4015 100644
--- a/xmlreader.c
+++ b/xmlreader.c
@@ -83,7 +83,8 @@
XML_TEXTREADER_END= 2,
XML_TEXTREADER_EMPTY= 3,
XML_TEXTREADER_BACKTRACK= 4,
- XML_TEXTREADER_DONE= 5
+ XML_TEXTREADER_DONE= 5,
+ XML_TEXTREADER_ERROR= 6
} xmlTextReaderState;
typedef enum {
@@ -417,6 +418,7 @@
s, 1);
reader->cur = inbuf->use;
reader->mode = XML_TEXTREADER_DONE;
+ if (val != 0) return(-1);
}
}
reader->state = oldstate;
@@ -1151,11 +1153,17 @@
ret->base = 0;
ret->cur = 0;
}
+ if (ret->ctxt == NULL) {
+ xmlGenericError(xmlGenericErrorContext,
+ "xmlNewTextReader : malloc failed\n");
+ xmlFree(ret->sax);
+ xmlFree(ret);
+ return(NULL);
+ }
ret->ctxt->_private = ret;
ret->ctxt->linenumbers = 1;
ret->allocs = XML_TEXTREADER_CTXT;
return(ret);
-
}
/**