diff options
author | Peter Korsgaard <jacmet@sunsite.dk> | 2012-03-14 20:35:44 +0100 |
---|---|---|
committer | Peter Korsgaard <jacmet@sunsite.dk> | 2012-03-14 20:41:24 +0100 |
commit | 6b772b2f417112e6e12ba6a2eb05ebb8250fdc9a (patch) | |
tree | 6300f787c91277af1d6825d0c7cf56f9c1c8f05b /package/libxml2/libxml2-7-error-xpath.patch | |
parent | e687bb71a028303f326aeebfaf94a3ac1c43b4e4 (diff) |
libxml2: ensure patches are applied in the correct order
Some of the patches depends on eachother, so rename them to ensure they
get applied in the correct order.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Diffstat (limited to 'package/libxml2/libxml2-7-error-xpath.patch')
-rw-r--r-- | package/libxml2/libxml2-7-error-xpath.patch | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/package/libxml2/libxml2-7-error-xpath.patch b/package/libxml2/libxml2-7-error-xpath.patch new file mode 100644 index 000000000..a12a05074 --- /dev/null +++ b/package/libxml2/libxml2-7-error-xpath.patch @@ -0,0 +1,62 @@ +From 1d4526f6f4ec8d18c40e2a09b387652a6c1aa2cd Mon Sep 17 00:00:00 2001 +From: Daniel Veillard <veillard@redhat.com> +Date: Tue, 11 Oct 2011 08:34:34 +0000 +Subject: Fix missing error status in XPath evaluation + +Started by Chris Evans, I added a few more place where the +error should have been set in the evaluation context. +--- +diff --git a/xpath.c b/xpath.c +index bcee2ea..d9d902c 100644 +--- a/xpath.c ++++ b/xpath.c +@@ -2485,6 +2485,7 @@ valuePush(xmlXPathParserContextPtr ctxt, xmlXPathObjectPtr value) + sizeof(ctxt->valueTab[0])); + if (tmp == NULL) { + xmlGenericError(xmlGenericErrorContext, "realloc failed !\n"); ++ ctxt->error = XPATH_MEMORY_ERROR; + return (0); + } + ctxt->valueMax *= 2; +@@ -9340,6 +9341,7 @@ xmlXPathTranslateFunction(xmlXPathParserContextPtr ctxt, int nargs) { + if ( (ch & 0xc0) != 0xc0 ) { + xmlGenericError(xmlGenericErrorContext, + "xmlXPathTranslateFunction: Invalid UTF8 string\n"); ++ /* not asserting an XPath error is probably better */ + break; + } + /* then skip over remaining bytes for this char */ +@@ -9347,6 +9349,7 @@ xmlXPathTranslateFunction(xmlXPathParserContextPtr ctxt, int nargs) { + if ( (*cptr++ & 0xc0) != 0x80 ) { + xmlGenericError(xmlGenericErrorContext, + "xmlXPathTranslateFunction: Invalid UTF8 string\n"); ++ /* not asserting an XPath error is probably better */ + break; + } + if (ch & 0x80) /* must have had error encountered */ +@@ -13410,6 +13413,7 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op) + xmlGenericError(xmlGenericErrorContext, + "xmlXPathCompOpEval: variable %s bound to undefined prefix %s\n", + (char *) op->value4, (char *)op->value5); ++ ctxt->error = XPATH_UNDEF_PREFIX_ERROR; + return (total); + } + val = xmlXPathVariableLookupNS(ctxt->context, +@@ -13464,6 +13468,7 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op) + "xmlXPathCompOpEval: function %s bound to undefined prefix %s\n", + (char *)op->value4, (char *)op->value5); + xmlXPathPopFrame(ctxt, frame); ++ ctxt->error = XPATH_UNDEF_PREFIX_ERROR; + return (total); + } + func = xmlXPathFunctionLookupNS(ctxt->context, +@@ -14042,6 +14047,7 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op) + } + xmlGenericError(xmlGenericErrorContext, + "XPath: unknown precompiled operation %d\n", op->op); ++ ctxt->error = XPATH_INVALID_OPERAND; + return (total); + } + +-- +cgit v0.9.0.2 |