diff --git a/ext/spl/spl_iterators.c b/ext/spl/spl_iterators.c index 40752f98842..9e7c956575f 100755 --- a/ext/spl/spl_iterators.c +++ b/ext/spl/spl_iterators.c @@ -596,7 +596,9 @@ SPL_METHOD(RecursiveIteratorIterator, current) zval **data; iterator->funcs->get_current_data(iterator, &data TSRMLS_CC); - RETURN_ZVAL(*data, 1, 0); + if (data && *data) { + RETURN_ZVAL(*data, 1, 0); + } } /* }}} */ /* {{{ proto void RecursiveIteratorIterator::next()