153aa9179Sopenharmony_ciFrom 53d1cc98cf08c789087a92fd57da70811abe7d60 Mon Sep 17 00:00:00 2001
253aa9179Sopenharmony_ciFrom: Nick Wellnhofer <wellnhofer@aevum.de>
353aa9179Sopenharmony_ciDate: Thu, 16 Feb 2023 15:09:32 +0100
453aa9179Sopenharmony_ciSubject: [PATCH] malloc-fail: Fix error code in htmlParseChunk
553aa9179Sopenharmony_ci
653aa9179Sopenharmony_ciFound with libFuzzer, see #344.
753aa9179Sopenharmony_ci
853aa9179Sopenharmony_ciReference:https://github.com/GNOME/libxml2/commit/53d1cc98cf08c789087a92fd57da70811abe7d60
953aa9179Sopenharmony_ciConflict:NA
1053aa9179Sopenharmony_ci---
1153aa9179Sopenharmony_ci HTMLparser.c | 5 ++---
1253aa9179Sopenharmony_ci 1 file changed, 2 insertions(+), 3 deletions(-)
1353aa9179Sopenharmony_ci
1453aa9179Sopenharmony_cidiff --git a/HTMLparser.c b/HTMLparser.c
1553aa9179Sopenharmony_ciindex 457b2a3..72ede56 100644
1653aa9179Sopenharmony_ci--- a/HTMLparser.c
1753aa9179Sopenharmony_ci+++ b/HTMLparser.c
1853aa9179Sopenharmony_ci@@ -6276,9 +6276,8 @@ htmlParseChunk(htmlParserCtxtPtr ctxt, const char *chunk, int size,
1953aa9179Sopenharmony_ci 	res = xmlParserInputBufferPush(ctxt->input->buf, size, chunk);
2053aa9179Sopenharmony_ci         xmlBufSetInputBaseCur(ctxt->input->buf->buffer, ctxt->input, base, cur);
2153aa9179Sopenharmony_ci 	if (res < 0) {
2253aa9179Sopenharmony_ci-	    ctxt->errNo = XML_PARSER_EOF;
2353aa9179Sopenharmony_ci-	    ctxt->disableSAX = 1;
2453aa9179Sopenharmony_ci-	    return (XML_PARSER_EOF);
2553aa9179Sopenharmony_ci+            htmlErrMemory(ctxt, NULL);
2653aa9179Sopenharmony_ci+	    return (ctxt->errNo);
2753aa9179Sopenharmony_ci 	}
2853aa9179Sopenharmony_ci #ifdef DEBUG_PUSH
2953aa9179Sopenharmony_ci 	xmlGenericError(xmlGenericErrorContext, "HPP: pushed %d\n", size);
3053aa9179Sopenharmony_ci-- 
3153aa9179Sopenharmony_ci2.27.0
3253aa9179Sopenharmony_ci
33