When the zval ** are equal we don't want to assign_ref, in any other case
I can think of we do want to assign_ref.
if (variable_ptr == EG(error_zval_ptr) || value_ptr==EG(error_zval_ptr)) {
variable_ptr_ptr = &EG(uninitialized_zval_ptr);
// } else if (variable_ptr==&EG(uninitialized_zval) || variable_ptr!=value_ptr) {
- } else if (variable_ptr != value_ptr) {
+ } else if (variable_ptr_ptr != value_ptr_ptr) {
variable_ptr->refcount--;
if (variable_ptr->refcount==0) {
zendi_zval_dtor(*variable_ptr);