com php-src: Fixed reference counting: ext/spl/spl_directory .c
| From: | Dmitry Stogov | Date: | Thu, 22 Mar 2012 10:38:38 +0000 |
| Subject: | com php-src: Fixed reference counting: ext/spl/spl_directory .c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-68136@lists.php.net to get a copy of this message | ||
Commit: 14af1fe6923c65a91cd77eab5a8d4326f854391d
Author: Dmitry Stogov <dmitry@zend.com> Thu, 22 Mar 2012 14:38:38 +0400
Parents: 523396cb28a0cb87ced9ec1179ef4f119d28ec80
Branches: PHP-5.3 df129ae7ea983bab9947c97f15244870a748d729 752fec88ef5ce15c750776d008ae843ee1ba761e
PHP-5.4
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=14af1fe6923c65a91cd77eab5a8d4326f854391d
Log:
Fixed reference counting
Changed paths:
M ext/spl/spl_directory.c
Diff:
14af1fe6923c65a91cd77eab5a8d4326f854391d
diff --git a/ext/spl/spl_directory.c b/ext/spl/spl_directory.c
index fb19823..9d454c9 100755
--- a/ext/spl/spl_directory.c
+++ b/ext/spl/spl_directory.c
@@ -1644,8 +1644,8 @@ zend_object_iterator *spl_filesystem_dir_get_iterator(zend_class_entry *ce,
zval
/* ->current must be initialized; rewind doesn't set it and valid
* doesn't check whether it's set */
iterator->current = object;
+ Z_SET_REFCOUNT_P(object, Z_REFCOUNT_P(object) + 2);
}
- zval_add_ref(&object);
return (zend_object_iterator*)iterator;
}
@@ -1847,8 +1847,8 @@ zend_object_iterator *spl_filesystem_tree_get_iterator(zend_class_entry *ce,
zva
if (iterator->intern.data == NULL) {
iterator->intern.data = object;
iterator->intern.funcs = &spl_filesystem_tree_it_funcs;
+ zval_add_ref(&object);
}
- zval_add_ref(&object);
return (zend_object_iterator*)iterator;
}