From 30c58aba0c481e52da16d87547a14e33cce373ee Mon Sep 17 00:00:00 2001 From: Niels Dossche <7771979+nielsdos@users.noreply.github.com> Date: Thu, 14 Mar 2024 21:08:25 +0100 Subject: [PATCH] Fix potential memory leak in XPath evaluation results --- NEWS | 1 + ext/dom/xpath.c | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index ea7909695d1..60f6f0f7203 100644 --- a/NEWS +++ b/NEWS @@ -8,6 +8,7 @@ PHP NEWS - DOM: . Add some missing ZPP checks. (nielsdos) + . Fix potential memory leak in XPath evaluation results. (nielsdos) - Gettext: . Fixed sigabrt raised with dcgettext/dcngettext calls with gettext 0.22.5 diff --git a/ext/dom/xpath.c b/ext/dom/xpath.c index 73ceb493627..22a7e0ecc5a 100644 --- a/ext/dom/xpath.c +++ b/ext/dom/xpath.c @@ -125,8 +125,11 @@ static void dom_xpath_ext_function_php(xmlXPathParserContextPtr ctxt, int nargs, } } break; - default: - ZVAL_STRING(&fci.params[i], (char *)xmlXPathCastToString(obj)); + default: { + str = (char *)xmlXPathCastToString(obj); + ZVAL_STRING(&fci.params[i], str); + xmlFree(str); + } } xmlXPathFreeObject(obj); }