From 35a4bc50d0a6fe385be9fb4ca08755fbc709140e Mon Sep 17 00:00:00 2001 From: Nick Wellnhofer Date: Fri, 22 Dec 2023 15:14:19 +0100 Subject: [PATCH] xinclude: Report to xmlGenericError --- xinclude.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/xinclude.c b/xinclude.c index 3e7910ab..a6a2fed1 100644 --- a/xinclude.c +++ b/xinclude.c @@ -150,13 +150,25 @@ static void LIBXML_ATTR_FORMAT(4,0) xmlXIncludeErr(xmlXIncludeCtxtPtr ctxt, xmlNodePtr node, int error, const char *msg, const xmlChar *extra) { + xmlStructuredErrorFunc schannel = NULL; + xmlGenericErrorFunc channel = NULL; + void *data = NULL; int res; if (ctxt->fatalErr != 0) return; ctxt->nbErrors++; - res = __xmlRaiseError(ctxt->errorHandler, NULL, ctxt->errorCtxt, - ctxt, node, XML_FROM_XINCLUDE, error, XML_ERR_ERROR, + + schannel = ctxt->errorHandler; + data = ctxt->errorCtxt; + + if (schannel == NULL) { + channel = xmlGenericError; + data = xmlGenericErrorContext; + } + + res = __xmlRaiseError(schannel, channel, data, ctxt, node, + XML_FROM_XINCLUDE, error, XML_ERR_ERROR, NULL, 0, (const char *) extra, NULL, NULL, 0, 0, msg, (const char *) extra); if (res < 0) {