153aa9179Sopenharmony_ciFrom a3e11b385c04f2d0dc7d8c51635e5deb5b867261 Mon Sep 17 00:00:00 2001
253aa9179Sopenharmony_ciFrom: Nick Wellnhofer <wellnhofer@aevum.de>
353aa9179Sopenharmony_ciDate: Sat, 25 Feb 2023 16:05:24 +0100
453aa9179Sopenharmony_ciSubject: [PATCH] malloc-fail: Fix memory leak in xmlXPathEqualNodeSetFloat
553aa9179Sopenharmony_ci
653aa9179Sopenharmony_ciFound with libFuzzer, see #344.
753aa9179Sopenharmony_ci
853aa9179Sopenharmony_ciReference:https://github.com/GNOME/libxml2/commit/a3e11b385c04f2d0dc7d8c51635e5deb5b867261
953aa9179Sopenharmony_ciConflict:NA
1053aa9179Sopenharmony_ci---
1153aa9179Sopenharmony_ci xpath.c | 2 +-
1253aa9179Sopenharmony_ci 1 file changed, 1 insertion(+), 1 deletion(-)
1353aa9179Sopenharmony_ci
1453aa9179Sopenharmony_cidiff --git a/xpath.c b/xpath.c
1553aa9179Sopenharmony_ciindex ef9f517..7f2c92a 100644
1653aa9179Sopenharmony_ci--- a/xpath.c
1753aa9179Sopenharmony_ci+++ b/xpath.c
1853aa9179Sopenharmony_ci@@ -6814,8 +6814,8 @@ xmlXPathEqualNodeSetFloat(xmlXPathParserContextPtr ctxt,
1953aa9179Sopenharmony_ci 		valuePush(ctxt, xmlXPathCacheNewString(ctxt->context, str2));
2053aa9179Sopenharmony_ci 		xmlFree(str2);
2153aa9179Sopenharmony_ci 		xmlXPathNumberFunction(ctxt, 1);
2253aa9179Sopenharmony_ci-		val = valuePop(ctxt);
2353aa9179Sopenharmony_ci                 CHECK_ERROR0;
2453aa9179Sopenharmony_ci+		val = valuePop(ctxt);
2553aa9179Sopenharmony_ci 		v = val->floatval;
2653aa9179Sopenharmony_ci 		xmlXPathReleaseObject(ctxt->context, val);
2753aa9179Sopenharmony_ci 		if (!xmlXPathIsNaN(v)) {
2853aa9179Sopenharmony_ci-- 
2953aa9179Sopenharmony_ci2.27.0
3053aa9179Sopenharmony_ci
31