many further little changes for OOM problems. Now seems to be getting
* SAX2.c, encoding.c, error.c, parser.c, tree.c, uri.c, xmlIO.c,
xmlreader.c, include/libxml/tree.h: many further little changes
for OOM problems. Now seems to be getting closer to "ok".
* testOOM.c: added code to intercept more errors, found more
problems with library. Changed method of flagging / counting
errors intercepted.
diff --git a/xmlreader.c b/xmlreader.c
index 8985bd9..b075328 100644
--- a/xmlreader.c
+++ b/xmlreader.c
@@ -1878,6 +1878,12 @@
ret->entNr = 0;
ret->input = input;
ret->buffer = xmlBufferCreateSize(100);
+ if (ret->buffer == NULL) {
+ xmlFree(ret);
+ xmlGenericError(xmlGenericErrorContext,
+ "xmlNewTextReader : malloc failed\n");
+ return(NULL);
+ }
ret->sax = (xmlSAXHandler *) xmlMalloc(sizeof(xmlSAXHandler));
if (ret->sax == NULL) {
xmlBufferFree(ret->buffer);
@@ -3908,7 +3914,8 @@
xmlParserCtxtPtr ctx = (xmlParserCtxtPtr)ctxt;
xmlTextReaderPtr reader = (xmlTextReaderPtr)ctx->_private;
- if (str != NULL && reader->errorFunc) {
+ if (str != NULL) {
+ if (reader->errorFunc)
reader->errorFunc(reader->errorFuncArg,
str,
severity,