1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2025-03-10 08:58:16 +03:00

Fix a potential freeing error in XPath

This commit is contained in:
Daniel Veillard 2010-11-17 14:12:14 +01:00
parent ae874211d4
commit df83c17e5a

12
xpath.c
View File

@ -11763,11 +11763,15 @@ xmlXPathCompOpEvalPositionalPredicate(xmlXPathParserContextPtr ctxt,
if ((ctxt->error != XPATH_EXPRESSION_OK) || (res == -1)) {
xmlXPathObjectPtr tmp;
/* pop the result */
/* pop the result if any */
tmp = valuePop(ctxt);
xmlXPathReleaseObject(xpctxt, tmp);
/* then pop off contextObj, which will be freed later */
valuePop(ctxt);
if (tmp != contextObj)
/*
* Free up the result
* then pop off contextObj, which will be freed later
*/
xmlXPathReleaseObject(xpctxt, tmp);
valuePop(ctxt);
goto evaluation_error;
}