From cc30524c89fa2255944dc3c70f8d41a6c23faa2a Mon Sep 17 00:00:00 2001 From: Xinchen Hui Date: Sat, 21 Jul 2012 23:26:18 +0800 Subject: [PATCH] Fixed bug #62616 (ArrayIterator::count() from IteratorIterator instance gives Segmentation fault) --- NEWS | 4 ++++ ext/spl/spl_iterators.c | 2 ++ 2 files changed, 6 insertions(+) diff --git a/NEWS b/NEWS index 902185cffe9..e6b51a91403 100644 --- a/NEWS +++ b/NEWS @@ -13,6 +13,10 @@ PHP NEWS - DateTime: . Fixed Bug #62500 (Segfault in DateInterval class when extended). (Laruence) +- SPL: + . Fixed bug #62616 (ArrayIterator::count() from IteratorIterator instance + gives Segmentation fault). (Laruence, Gustavo) + 14 Jun 2012, PHP 5.3.14 - CLI SAPI: diff --git a/ext/spl/spl_iterators.c b/ext/spl/spl_iterators.c index eecd483ba77..a46b7d4e48d 100755 --- a/ext/spl/spl_iterators.c +++ b/ext/spl/spl_iterators.c @@ -1287,6 +1287,8 @@ static union _zend_function *spl_dual_it_get_method(zval **object_ptr, char *met *object_ptr = intern->inner.zobject; function_handler = Z_OBJ_HT_P(*object_ptr)->get_method(object_ptr, method, method_len TSRMLS_CC); } + } else { + *object_ptr = intern->inner.zobject; } } return function_handler;