1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- 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
|