mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-07-28 00:21:53 +03:00
fixing #75619, related to a problem when trying to evaluate condition when
* xpath.c: fixing #75619, related to a problem when trying to evaluate condition when the current node set resulting from that sub-step evaluation is empty. Also fixes 2 potential problem with previous-sibling and next-siblings axis. Daniel
This commit is contained in:
4
xpath.c
4
xpath.c
@ -8406,7 +8406,6 @@ xmlXPathNodeCollectAndTest(xmlXPathParserContextPtr ctxt,
|
||||
#endif
|
||||
last = NULL;
|
||||
next = xmlXPathNextFollowingSibling;
|
||||
mergeNodeSet = xmlXPathNodeSetMergeUnique;
|
||||
break;
|
||||
case AXIS_NAMESPACE:
|
||||
#ifdef DEBUG_STEP
|
||||
@ -8438,7 +8437,6 @@ xmlXPathNodeCollectAndTest(xmlXPathParserContextPtr ctxt,
|
||||
#endif
|
||||
first = NULL;
|
||||
next = xmlXPathNextPrecedingSibling;
|
||||
mergeNodeSet = xmlXPathNodeSetMergeUnique;
|
||||
break;
|
||||
case AXIS_SELF:
|
||||
#ifdef DEBUG_STEP
|
||||
@ -8678,7 +8676,7 @@ xmlXPathNodeCollectAndTest(xmlXPathParserContextPtr ctxt,
|
||||
/*
|
||||
* If there is some predicate filtering do it now
|
||||
*/
|
||||
if (op->ch2 != -1) {
|
||||
if ((op->ch2 != -1) && (list != NULL) && (list->nodeNr > 0)) {
|
||||
xmlXPathObjectPtr obj2;
|
||||
|
||||
valuePush(ctxt, xmlXPathWrapNodeSet(list));
|
||||
|
Reference in New Issue
Block a user