summaryrefslogtreecommitdiff
path: root/Zend/zend_interfaces.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2014-02-26 16:17:28 +0400
committerDmitry Stogov <dmitry@zend.com>2014-02-26 16:17:28 +0400
commit0bde8c9857641e6ac8d89b3dd89b2706bdc97741 (patch)
tree33b03ba5878318329d23e0f2385f0fbccbe35b01 /Zend/zend_interfaces.c
parent6829be6c26565755cfe447a8f257bbde9891fefe (diff)
downloadphp-git-0bde8c9857641e6ac8d89b3dd89b2706bdc97741.tar.gz
Fixed argument unpacking
Diffstat (limited to 'Zend/zend_interfaces.c')
-rw-r--r--Zend/zend_interfaces.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/Zend/zend_interfaces.c b/Zend/zend_interfaces.c
index 2beeb1d439..47ca36026c 100644
--- a/Zend/zend_interfaces.c
+++ b/Zend/zend_interfaces.c
@@ -276,7 +276,9 @@ ZEND_API zend_object_iterator *zend_user_it_get_new_iterator(zend_class_entry *c
zval *iterator = zend_user_it_new_iterator(ce, object TSRMLS_CC);
zend_object_iterator *new_iterator;
- zend_class_entry *ce_it = iterator && Z_TYPE_P(iterator) == IS_OBJECT ? Z_OBJCE_P(iterator) : NULL;
+ zend_class_entry *ce_it = (iterator &&
+ Z_TYPE_P(iterator) == IS_OBJECT &&
+ Z_OBJ_HT_P(iterator)->get_class_entry) ? Z_OBJCE_P(iterator) : NULL;
if (!ce_it || !ce_it->get_iterator || (ce_it->get_iterator == zend_user_it_get_new_iterator && iterator == object)) {
if (!EG(exception)) {