summaryrefslogtreecommitdiff
path: root/Zend/zend_weakrefs.c
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/zend_weakrefs.c')
-rw-r--r--Zend/zend_weakrefs.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/Zend/zend_weakrefs.c b/Zend/zend_weakrefs.c
index 04c5043210..85b56518ab 100644
--- a/Zend/zend_weakrefs.c
+++ b/Zend/zend_weakrefs.c
@@ -402,12 +402,12 @@ static HashTable *zend_weakmap_get_properties_for(zend_object *object, zend_prop
zend_ulong obj_addr;
zval *val;
ZEND_HASH_FOREACH_NUM_KEY_VAL(&wm->ht, obj_addr, val) {
+ zend_object *obj = (zend_object*)obj_addr;
zval pair;
- zval obj_zv;
array_init(&pair);
- ZVAL_OBJ_COPY(&obj_zv, (zend_object *) obj_addr);
- add_assoc_zval(&pair, "key", &obj_zv);
+ GC_ADDREF(obj);
+ add_assoc_object(&pair, "key", obj);
Z_TRY_ADDREF_P(val);
add_assoc_zval(&pair, "value", val);