diff --git a/ext/simplexml/simplexml.c b/ext/simplexml/simplexml.c index 1d74853cd9c..2ec0ca4ab8a 100644 --- a/ext/simplexml/simplexml.c +++ b/ext/simplexml/simplexml.c @@ -1294,9 +1294,8 @@ SXE_METHOD(xpath) result = retval->nodesetval; - array_init(return_value); - if (result != NULL) { + array_init(return_value); for (i = 0; i < result->nodeNr; ++i) { nodeptr = result->nodeTab[i]; if (nodeptr->type == XML_TEXT_NODE || nodeptr->type == XML_ELEMENT_NODE || nodeptr->type == XML_ATTRIBUTE_NODE) { @@ -1317,6 +1316,8 @@ SXE_METHOD(xpath) add_next_index_zval(return_value, value); } } + } else { + RETVAL_FALSE; } xmlXPathFreeObject(retval);