diff options
-rw-r--r-- | Zend/zend_object_handlers.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/Zend/zend_object_handlers.c b/Zend/zend_object_handlers.c index 3d821993af..45cc4f56e9 100644 --- a/Zend/zend_object_handlers.c +++ b/Zend/zend_object_handlers.c @@ -587,13 +587,13 @@ found: ZVAL_COPY_VALUE(&garbage, variable_ptr); /* if we assign referenced variable, we should separate it */ - if (Z_REFCOUNTED_P(value)) { - Z_ADDREF_P(value); - if (Z_ISREF_P(value)) { - SEPARATE_ZVAL(value); + ZVAL_COPY_VALUE(variable_ptr, value); + if (Z_REFCOUNTED_P(variable_ptr)) { + Z_ADDREF_P(variable_ptr); + if (Z_ISREF_P(variable_ptr)) { + SEPARATE_ZVAL(variable_ptr); } } - ZVAL_COPY_VALUE(variable_ptr, value); zval_ptr_dtor(&garbage); } } |