diff options
Diffstat (limited to 'ext/standard')
| -rw-r--r-- | ext/standard/array.c | 3 | ||||
| -rw-r--r-- | ext/standard/var.c | 6 |
2 files changed, 3 insertions, 6 deletions
diff --git a/ext/standard/array.c b/ext/standard/array.c index d942cfc184..0a8484f999 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -2479,8 +2479,7 @@ static void php_compact_var(HashTable *eg_active_symbol_table, zval *return_valu } else if (zend_string_equals_literal(Z_STR_P(entry), "this")) { zend_object *object = zend_get_this_object(EG(current_execute_data)); if (object) { - GC_ADDREF(object); - ZVAL_OBJ(&data, object); + ZVAL_OBJ_COPY(&data, object); zend_hash_update(Z_ARRVAL_P(return_value), Z_STR_P(entry), &data); } } else { 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)) { |
