diff options
author | Aron Xu <aron@debian.org> | 2014-10-26 07:04:07 +0800 |
---|---|---|
committer | Aron Xu <aron@debian.org> | 2014-10-26 07:04:07 +0800 |
commit | 4a5e25fad6693afda89b3826f73e83d826618863 (patch) | |
tree | 3c95fba1f4efbb63798bfa637bb6b335338cb1b0 /debian/patches/0023-Handling-of-XPath-function-arguments-in-error-case.patch | |
parent | d5776bbf9d8842d931ab1112466d19685035281e (diff) | |
download | libxml2-4a5e25fad6693afda89b3826f73e83d826618863.tar.gz |
Remove no-longer-needed upstream patches
Diffstat (limited to 'debian/patches/0023-Handling-of-XPath-function-arguments-in-error-case.patch')
-rw-r--r-- | debian/patches/0023-Handling-of-XPath-function-arguments-in-error-case.patch | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/debian/patches/0023-Handling-of-XPath-function-arguments-in-error-case.patch b/debian/patches/0023-Handling-of-XPath-function-arguments-in-error-case.patch deleted file mode 100644 index cc18db7..0000000 --- a/debian/patches/0023-Handling-of-XPath-function-arguments-in-error-case.patch +++ /dev/null @@ -1,41 +0,0 @@ -From: Nick Wellnhofer <wellnhofer@aevum.de> -Date: Fri, 20 Dec 2013 00:01:53 +0100 -Subject: Handling of XPath function arguments in error case - -The XPath engine tries to guarantee that every XPath function can pop -'nargs' non-NULL values off the stack. libxslt, for example, relies on -this assumption. But the check isn't thorough enough if there are errors -during the evaluation of arguments. This can lead to segfaults: - -https://mail.gnome.org/archives/xslt/2013-December/msg00005.html - -This commit makes the handling of function arguments more robust. - -* Bail out early when evaluation of XPath function arguments fails. -* Make sure that there are 'nargs' arguments in the current call frame. ---- - xpath.c | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff --git a/xpath.c b/xpath.c -index a676989..a75df9b 100644 ---- a/xpath.c -+++ b/xpath.c -@@ -13512,10 +13512,15 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op) - int frame; - - frame = xmlXPathSetFrame(ctxt); -- if (op->ch1 != -1) -+ if (op->ch1 != -1) { - total += - xmlXPathCompOpEval(ctxt, &comp->steps[op->ch1]); -- if (ctxt->valueNr < op->value) { -+ if (ctxt->error != XPATH_EXPRESSION_OK) { -+ xmlXPathPopFrame(ctxt, frame); -+ return (total); -+ } -+ } -+ if (ctxt->valueNr < ctxt->valueFrame + op->value) { - xmlGenericError(xmlGenericErrorContext, - "xmlXPathCompOpEval: parameter error\n"); - ctxt->error = XPATH_INVALID_OPERAND; |