summaryrefslogtreecommitdiff
path: root/Zend/zend_operators.c
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/zend_operators.c')
-rw-r--r--Zend/zend_operators.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c
index fdfa5aba3b..514dbb1e2f 100644
--- a/Zend/zend_operators.c
+++ b/Zend/zend_operators.c
@@ -187,9 +187,7 @@ try_again:
switch (Z_TYPE_P(op)) {
case IS_REFERENCE:
if (Z_REFCOUNT_P(op) == 1) {
- zend_reference *ref = Z_REF_P(op);
- ZVAL_COPY_VALUE(op, Z_REFVAL_P(op));
- efree(ref);
+ ZVAL_UNREF(op);
} else {
Z_DELREF_P(op);
ZVAL_COPY_VALUE(op, Z_REFVAL_P(op));
@@ -1531,7 +1529,6 @@ static inline void zend_free_obj_get_result(zval *op TSRMLS_DC) /* {{{ */
{
if (Z_REFCOUNTED_P(op)) {
if (Z_REFCOUNT_P(op) == 0) {
- GC_REMOVE_ZVAL_FROM_BUFFER(op);
zval_dtor(op);
} else {
zval_ptr_dtor(op);