]> granicus.if.org Git - php/commitdiff
Fixed reference separation
authorDmitry Stogov <dmitry@zend.com>
Tue, 18 Mar 2014 08:37:51 +0000 (12:37 +0400)
committerDmitry Stogov <dmitry@zend.com>
Tue, 18 Mar 2014 08:37:51 +0000 (12:37 +0400)
Zend/zend_object_handlers.c

index ec5c7a312a8d6b29ef8c3527abac57592091fa52..24a3a9ebd8aca06778aba951d1ee0b448d4915f2 100644 (file)
@@ -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);
                        }