From: Xinchen Hui Date: Fri, 8 Apr 2016 09:57:51 +0000 (+0800) Subject: Fixed bug #71986 (Nested foreach assign-by-reference creates broken variables) X-Git-Tag: php-7.0.6RC1~16 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c45f7b97a3252767b31d38fd7e761b9291ed2152;p=php Fixed bug #71986 (Nested foreach assign-by-reference creates broken variables) --- diff --git a/NEWS b/NEWS index 81214094d7..cccbc56f9e 100644 --- a/NEWS +++ b/NEWS @@ -68,6 +68,10 @@ PHP NEWS . Fixed bug #71820 (pg_fetch_object binds parameters before call constructor). (Anatol) +- SOAP: + . Fixed bug #71986 (Nested foreach assign-by-reference creates broken + variables). (Laruence) + - SPL: . Fixed bug #71838 (Deserializing serialized SPLObjectStorage-Object can't access properties in PHP). (Nikita) diff --git a/ext/soap/php_encoding.c b/ext/soap/php_encoding.c index 1fdc5a8788..fc389f2365 100644 --- a/ext/soap/php_encoding.c +++ b/ext/soap/php_encoding.c @@ -3512,6 +3512,7 @@ static encodePtr get_array_type(xmlNodePtr node, zval *array, smart_str *type) ht = Z_ARRVAL_P(array); ZEND_HASH_FOREACH_VAL_IND(ht, tmp) { + ZVAL_DEREF(tmp); if (Z_TYPE_P(tmp) == IS_OBJECT && Z_OBJCE_P(tmp) == soap_var_class_entry) { zval *ztype;