summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStanislav Malyshev <stas@php.net>2004-07-26 17:12:17 +0000
committerStanislav Malyshev <stas@php.net>2004-07-26 17:12:17 +0000
commit46455027fc0442bb74a5dfb4d44c3604906f9b98 (patch)
tree9b9b68e39a6e79aa45ad0682f4ca81abc372d170
parentc7b7791029db1d9ba982ff3271f38f48587807c8 (diff)
downloadphp-git-46455027fc0442bb74a5dfb4d44c3604906f9b98.tar.gz
quick fix for #29382
-rwxr-xr-xZend/zend_interfaces.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/Zend/zend_interfaces.c b/Zend/zend_interfaces.c
index 69a546de60..93263a4f17 100755
--- a/Zend/zend_interfaces.c
+++ b/Zend/zend_interfaces.c
@@ -272,7 +272,7 @@ static zend_object_iterator *zend_user_it_get_new_iterator(zend_class_entry *ce,
zend_class_entry *ce_it = Z_TYPE_P(iterator) == IS_OBJECT ? Z_OBJCE_P(iterator) : NULL;
- if (!ce || !ce_it || !ce_it->get_iterator) {
+ if (!ce || !ce_it || !ce_it->get_iterator || (ce_it->get_iterator == zend_user_it_get_new_iterator && iterator == object)) {
zend_error(E_WARNING, "Objects returned by %s::getIterator() must be traversable or implement interface Iterator", ce->name);
zval_ptr_dtor(&iterator);
return NULL;