From c978cc2ae8dcf5c13cf9fcafb31a45d8ee54dde9 Mon Sep 17 00:00:00 2001 From: Marcus Boerger Date: Tue, 18 Nov 2003 00:18:48 +0000 Subject: [PATCH] Use correct order --- Zend/zend_interfaces.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Zend/zend_interfaces.c b/Zend/zend_interfaces.c index 8fcf9dd9a99..77a8deb6cd4 100755 --- a/Zend/zend_interfaces.c +++ b/Zend/zend_interfaces.c @@ -263,6 +263,7 @@ static zend_object_iterator *zend_user_get_iterator(zend_class_entry *ce, zval * static zend_object_iterator *zend_user_get_new_iterator(zend_class_entry *ce, zval *object TSRMLS_DC) { zval *iterator = zend_user_new_iterator(ce, object TSRMLS_CC); + zend_object_iterator *new_iterator; zend_class_entry *ce_it = Z_TYPE_P(iterator) == IS_OBJECT ? Z_OBJCE_P(iterator) : NULL; @@ -271,8 +272,9 @@ static zend_object_iterator *zend_user_get_new_iterator(zend_class_entry *ce, zv zval_ptr_dtor(&iterator); return NULL; } - iterator->refcount--; /* from return */ - return ce_it->get_iterator(ce_it, iterator TSRMLS_CC); + new_iterator = ce_it->get_iterator(ce_it, iterator TSRMLS_CC); + zval_ptr_dtor(&iterator); + return new_iterator; } /* }}} */