From: Dmitry Stogov Date: Thu, 6 Mar 2014 22:03:25 +0000 (+0400) Subject: Fixed guard support in magic method __set() X-Git-Tag: POST_PHPNG_MERGE~412^2~379 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5343cd3216c21eaf5d4d7999bbe4d99bbd9a8ab9;p=php Fixed guard support in magic method __set() --- diff --git a/Zend/zend_object_handlers.c b/Zend/zend_object_handlers.c index 1893e73455..ec5c7a312a 100644 --- a/Zend/zend_object_handlers.c +++ b/Zend/zend_object_handlers.c @@ -626,6 +626,8 @@ found: } (*guard) &= ~IN_SET; zval_ptr_dtor(object); + } else if (EXPECTED(property_info != NULL)) { + goto write_std_property; } else { if (Z_STRVAL_P(member)[0] == '\0') { if (Z_STRLEN_P(member) == 0) { @@ -636,6 +638,7 @@ found: } } } else if (EXPECTED(property_info != NULL)) { +write_std_property: /* if we assign referenced variable, we should separate it */ if (Z_REFCOUNTED_P(value)) { if (Z_ISREF_P(value)) {