summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXinchen Hui <laruence@php.net>2012-07-21 23:26:18 +0800
committerXinchen Hui <laruence@php.net>2012-07-21 23:26:18 +0800
commitcc30524c89fa2255944dc3c70f8d41a6c23faa2a (patch)
tree5ed170d5ebc3225d8dc079aebc851ccee4ed398b
parent683b4f7a2be0479182f229cf84f502d19bd792d9 (diff)
downloadphp-git-cc30524c89fa2255944dc3c70f8d41a6c23faa2a.tar.gz
Fixed bug #62616 (ArrayIterator::count() from IteratorIterator instance gives Segmentation fault)
-rw-r--r--NEWS4
-rwxr-xr-xext/spl/spl_iterators.c2
2 files changed, 6 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index 902185cffe..e6b51a9140 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 eecd483ba7..a46b7d4e48 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;