Revert "Revert "Fix memory leak when dereferencing reference with refcount 1""

This reverts commit 7aab9659ee.
This commit is contained in:
Xinchen Hui 2015-01-05 22:13:22 +08:00
parent c234ca8e17
commit 40230eef81

View file

@ -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);
}