summaryrefslogtreecommitdiff
path: root/debian/patches/0023-Handling-of-XPath-function-arguments-in-error-case.patch
diff options
context:
space:
mode:
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.patch41
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;