summaryrefslogtreecommitdiff
path: root/Zend/zend_execute.c
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/zend_execute.c')
-rw-r--r--Zend/zend_execute.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index 3611c5b008..c1ff85bff8 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -3187,7 +3187,9 @@ ZEND_API zval* zend_assign_to_typed_ref(zval *variable_ptr, zval *value, zend_uc
Z_TRY_DELREF_P(value);
}
if (!ret) {
- zval_ptr_dtor(value);
+ if (value_type & (IS_VAR|IS_TMP_VAR)) {
+ zval_ptr_dtor(value);
+ }
return Z_REFVAL_P(variable_ptr);
}