diff options
author | Ilia Alshanetsky <iliaa@php.net> | 2006-11-07 20:23:30 +0000 |
---|---|---|
committer | Ilia Alshanetsky <iliaa@php.net> | 2006-11-07 20:23:30 +0000 |
commit | cb96148912594f29c23883b3bea5090af0c74443 (patch) | |
tree | 9d20d1e9e55f788b9049b664b7b75bfbc2e36124 /Zend/zend_execute.c | |
parent | 887b3484f7797667293deef083eacee76270aabe (diff) | |
download | php-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.c | 6 |
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); |