summaryrefslogtreecommitdiff
path: root/ext/standard/array.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/array.c')
-rw-r--r--ext/standard/array.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/ext/standard/array.c b/ext/standard/array.c
index cb3aa761bc..ab16b67ee0 100644
--- a/ext/standard/array.c
+++ b/ext/standard/array.c
@@ -2258,9 +2258,7 @@ PHPAPI int php_array_merge(HashTable *dest, HashTable *src, int recursive TSRMLS
if (Z_ISREF_P(dest_entry)) {
if (Z_REFCOUNT_P(dest_entry) == 1) {
- zend_reference *ref = Z_REF_P(dest_entry);
- ZVAL_COPY_VALUE(dest_entry, dest_zval);
- efree(ref);
+ ZVAL_UNREF(dest_entry);
} else {
Z_DELREF_P(dest_entry);
ZVAL_DUP(dest_entry, dest_zval);