summaryrefslogtreecommitdiff
path: root/Zend/zend_execute.c
diff options
context:
space:
mode:
authorIlia Alshanetsky <iliaa@php.net>2006-11-07 20:23:30 +0000
committerIlia Alshanetsky <iliaa@php.net>2006-11-07 20:23:30 +0000
commitcb96148912594f29c23883b3bea5090af0c74443 (patch)
tree9d20d1e9e55f788b9049b664b7b75bfbc2e36124 /Zend/zend_execute.c
parent887b3484f7797667293deef083eacee76270aabe (diff)
downloadphp-git-cb96148912594f29c23883b3bea5090af0c74443.tar.gz
Fixed bug #33282 (Re-assignment by reference does not clear the is_ref flag)
# Original patch by Matt Wilmas
Diffstat (limited to 'Zend/zend_execute.c')
-rw-r--r--Zend/zend_execute.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index fbaed013b1..c6ab1db9b9 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -411,11 +411,7 @@ static void zend_assign_to_variable_reference(zval **variable_ptr_ptr, zval **va
*variable_ptr_ptr = value_ptr;
value_ptr->refcount++;
- variable_ptr->refcount--;
- if (variable_ptr->refcount==0) {
- zendi_zval_dtor(*variable_ptr);
- FREE_ZVAL(variable_ptr);
- }
+ zval_ptr_dtor(&variable_ptr);
} else if (!variable_ptr->is_ref) {
if (variable_ptr_ptr == value_ptr_ptr) {
SEPARATE_ZVAL(variable_ptr_ptr);