From: Marcus Boerger Date: Sun, 1 Jan 2006 19:48:11 +0000 (+0000) Subject: - Fix SEGV when rewind() not set X-Git-Tag: php-5.1.2RC2~29 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d6ee7d1d9aa49bb52fb13ed05244478c800b932d;p=php - Fix SEGV when rewind() not set --- diff --git a/ext/spl/spl_iterators.c b/ext/spl/spl_iterators.c index 77ceda133c..7f6d41dbaa 100755 --- a/ext/spl/spl_iterators.c +++ b/ext/spl/spl_iterators.c @@ -2045,7 +2045,9 @@ PHP_FUNCTION(iterator_to_array) iter = Z_OBJCE_P(obj)->get_iterator(Z_OBJCE_P(obj), obj TSRMLS_CC); - iter->funcs->rewind(iter TSRMLS_CC); + if (iter->funcs->rewind) { + iter->funcs->rewind(iter TSRMLS_CC); + } while (iter->funcs->valid(iter TSRMLS_CC) == SUCCESS) { key_type = iter->funcs->get_current_key(iter, &str_key, &str_key_len, &int_key TSRMLS_CC); iter->funcs->get_current_data(iter, &data TSRMLS_CC);