summaryrefslogtreecommitdiff
path: root/ext/spl/php_spl.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/spl/php_spl.c')
-rw-r--r--ext/spl/php_spl.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/ext/spl/php_spl.c b/ext/spl/php_spl.c
index ced58ab20d..e2b361fb5b 100644
--- a/ext/spl/php_spl.c
+++ b/ext/spl/php_spl.c
@@ -609,8 +609,7 @@ PHP_FUNCTION(spl_autoload_functions)
ZEND_HASH_FOREACH_PTR(SPL_G(autoload_functions), alfi) {
if (alfi->closure) {
zval obj_zv;
- ZVAL_OBJ(&obj_zv, alfi->closure);
- Z_ADDREF(obj_zv);
+ ZVAL_OBJ_COPY(&obj_zv, alfi->closure);
add_next_index_zval(return_value, &obj_zv);
} else if (alfi->func_ptr->common.scope) {
zval tmp;
@@ -618,8 +617,7 @@ PHP_FUNCTION(spl_autoload_functions)
array_init(&tmp);
if (alfi->obj) {
zval obj_zv;
- ZVAL_OBJ(&obj_zv, alfi->obj);
- Z_ADDREF(obj_zv);
+ ZVAL_OBJ_COPY(&obj_zv, alfi->obj);
add_next_index_zval(&tmp, &obj_zv);
} else {
add_next_index_str(&tmp, zend_string_copy(alfi->ce->name));