From d6ee7d1d9aa49bb52fb13ed05244478c800b932d Mon Sep 17 00:00:00 2001 From: Marcus Boerger Date: Sun, 1 Jan 2006 19:48:11 +0000 Subject: [PATCH] - Fix SEGV when rewind() not set --- ext/spl/spl_iterators.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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); -- 2.50.1