summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Zend/zend_object_handlers.c4
-rwxr-xr-xext/spl/spl_array.c3
2 files changed, 2 insertions, 5 deletions
diff --git a/Zend/zend_object_handlers.c b/Zend/zend_object_handlers.c
index b70c8f5ae9..ca2de17f2f 100644
--- a/Zend/zend_object_handlers.c
+++ b/Zend/zend_object_handlers.c
@@ -518,9 +518,7 @@ ZEND_API void zend_std_call_user_call(INTERNAL_FUNCTION_PARAMETERS)
zend_call_method_with_2_params(&this_ptr, ce, &ce->__call, ZEND_CALL_FUNC_NAME, &method_result_ptr, method_name_ptr, method_args_ptr);
if (method_result_ptr) {
- *return_value = *method_result_ptr;
- zval_copy_ctor(return_value);
- zval_ptr_dtor(&method_result_ptr);
+ RETVAL_ZVAL(method_result_ptr, 0, 1);
}
/* now destruct all auxiliaries */
diff --git a/ext/spl/spl_array.c b/ext/spl/spl_array.c
index 311e893ba3..90b12b6967 100755
--- a/ext/spl/spl_array.c
+++ b/ext/spl/spl_array.c
@@ -893,8 +893,7 @@ SPL_METHOD(Array, current)
if (zend_hash_get_current_data_ex(aht, (void **) &entry, &intern->pos) == FAILURE) {
return;
}
- *return_value = **entry;
- zval_copy_ctor(return_value);
+ RETVAL_ZVAL(*entry, 1, 0);
}
/* }}} */