summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2014-03-18 12:37:51 +0400
committerDmitry Stogov <dmitry@zend.com>2014-03-18 12:37:51 +0400
commit2adecc6dc283fa39f4fc9d44ec128be497152323 (patch)
tree53e88c773d16c326d65d092baeef933e24874665
parente47c080ce8c2f32bc6ea61e0196a6ac48435f2dc (diff)
downloadphp-git-2adecc6dc283fa39f4fc9d44ec128be497152323.tar.gz
Fixed reference separation
-rw-r--r--Zend/zend_object_handlers.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/Zend/zend_object_handlers.c b/Zend/zend_object_handlers.c
index ec5c7a312a..24a3a9ebd8 100644
--- a/Zend/zend_object_handlers.c
+++ b/Zend/zend_object_handlers.c
@@ -642,7 +642,10 @@ write_std_property:
/* if we assign referenced variable, we should separate it */
if (Z_REFCOUNTED_P(value)) {
if (Z_ISREF_P(value)) {
- ZVAL_DUP(value, Z_REFVAL_P(value));
+ zval tmp;
+
+ ZVAL_DUP(&tmp, Z_REFVAL_P(value));
+ value = &tmp;
} else {
Z_ADDREF_P(value);
}