diff --git a/parser.c b/parser.c index 283539ac..42684e02 100644 --- a/parser.c +++ b/parser.c @@ -13817,8 +13817,6 @@ xmlCtxtParseDocument(xmlParserCtxtPtr ctxt, xmlParserInputPtr input) xmlParseDocument(ctxt); ret = xmlCtxtGetDocument(ctxt); - if ((ret == NULL) && (ctxt->errNo == XML_ERR_OK)) - xmlFatalErrMsg(ctxt, XML_ERR_INTERNAL_ERROR, "unknown error\n"); /* assert(ctxt->inputNr == 1); */ while (ctxt->inputNr > 0) diff --git a/parserInternals.c b/parserInternals.c index 5c80694c..e24af956 100644 --- a/parserInternals.c +++ b/parserInternals.c @@ -3230,6 +3230,8 @@ xmlCtxtGetDocument(xmlParserCtxtPtr ctxt) { (!xmlCtxtIsCatastrophicError(ctxt)))) { doc = ctxt->myDoc; } else { + if (ctxt->errNo == XML_ERR_OK) + xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR, "unknown error"); doc = NULL; xmlFreeDoc(ctxt->myDoc); }