From c45f7b97a3252767b31d38fd7e761b9291ed2152 Mon Sep 17 00:00:00 2001 From: Xinchen Hui Date: Fri, 8 Apr 2016 17:57:51 +0800 Subject: [PATCH] Fixed bug #71986 (Nested foreach assign-by-reference creates broken variables) --- NEWS | 4 ++++ ext/soap/php_encoding.c | 1 + 2 files changed, 5 insertions(+) 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; -- 2.50.1