6b772b2f41
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>
63 lines
2.8 KiB
Diff
63 lines
2.8 KiB
Diff
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
|