summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Zend/zend_variables.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/Zend/zend_variables.c b/Zend/zend_variables.c
index 56b9b67598..b476bd9f8d 100644
--- a/Zend/zend_variables.c
+++ b/Zend/zend_variables.c
@@ -205,7 +205,9 @@ ZEND_API void zval_add_ref(zval *p)
{
if (Z_REFCOUNTED_P(p)) {
if (Z_ISREF_P(p) && Z_REFCOUNT_P(p) == 1) {
+ zend_reference *ref = Z_REF_P(p);
ZVAL_COPY(p, Z_REFVAL_P(p));
+ efree(ref);
} else {
Z_ADDREF_P(p);
}