summaryrefslogtreecommitdiff
path: root/ext/standard/var.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/var.c')
-rw-r--r--ext/standard/var.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/ext/standard/var.c b/ext/standard/var.c
index 5b4fd8fe54..4d47e67e2c 100644
--- a/ext/standard/var.c
+++ b/ext/standard/var.c
@@ -1001,8 +1001,7 @@ again:
zval *data;
zend_ulong index;
- Z_ADDREF_P(struc);
- ZVAL_OBJ(&obj, Z_OBJ_P(struc));
+ ZVAL_OBJ_COPY(&obj, Z_OBJ_P(struc));
if (php_var_serialize_call_magic_serialize(&retval, &obj) == FAILURE) {
if (!EG(exception)) {
smart_str_appendl(buf, "N;", 2);
@@ -1065,8 +1064,7 @@ again:
if (ce != PHP_IC_ENTRY && zend_hash_str_exists(&ce->function_table, "__sleep", sizeof("__sleep")-1)) {
zval retval, tmp;
- Z_ADDREF_P(struc);
- ZVAL_OBJ(&tmp, Z_OBJ_P(struc));
+ ZVAL_OBJ_COPY(&tmp, Z_OBJ_P(struc));
if (php_var_serialize_call_sleep(&retval, &tmp) == FAILURE) {
if (!EG(exception)) {