153aa9179Sopenharmony_ciFrom 97086fd76b21fee6e41c13921c450411442d9da6 Mon Sep 17 00:00:00 2001
253aa9179Sopenharmony_ciFrom: Nick Wellnhofer <wellnhofer@aevum.de>
353aa9179Sopenharmony_ciDate: Tue, 14 Feb 2023 14:45:58 +0100
453aa9179Sopenharmony_ciSubject: [PATCH] malloc-fail: Fix memory leak in xmlParserInputBufferCreateMem
553aa9179Sopenharmony_ci
653aa9179Sopenharmony_ciFound with libFuzzer, see #344.
753aa9179Sopenharmony_ci
853aa9179Sopenharmony_ciReference:https://github.com/GNOME/libxml2/commit/97086fd76b21fee6e41c13921c450411442d9da6
953aa9179Sopenharmony_ciConflict:NA
1053aa9179Sopenharmony_ci---
1153aa9179Sopenharmony_ci xmlIO.c | 2 +-
1253aa9179Sopenharmony_ci 1 file changed, 1 insertion(+), 1 deletion(-)
1353aa9179Sopenharmony_ci
1453aa9179Sopenharmony_cidiff --git a/xmlIO.c b/xmlIO.c
1553aa9179Sopenharmony_ciindex 71c9fbf..edf31e8 100644
1653aa9179Sopenharmony_ci--- a/xmlIO.c
1753aa9179Sopenharmony_ci+++ b/xmlIO.c
1853aa9179Sopenharmony_ci@@ -2953,7 +2953,7 @@ xmlParserInputBufferCreateMem(const char *mem, int size, xmlCharEncoding enc) {
1953aa9179Sopenharmony_ci 	ret->closecallback = NULL;
2053aa9179Sopenharmony_ci 	errcode = xmlBufAdd(ret->buffer, (const xmlChar *) mem, size);
2153aa9179Sopenharmony_ci 	if (errcode != 0) {
2253aa9179Sopenharmony_ci-	    xmlFree(ret);
2353aa9179Sopenharmony_ci+	    xmlFreeParserInputBuffer(ret);
2453aa9179Sopenharmony_ci 	    return(NULL);
2553aa9179Sopenharmony_ci 	}
2653aa9179Sopenharmony_ci     }
2753aa9179Sopenharmony_ci-- 
2853aa9179Sopenharmony_ci2.27.0
2953aa9179Sopenharmony_ci
3053aa9179Sopenharmony_ci
31