]> granicus.if.org Git - php/commitdiff
Fixed bug #71986 (Nested foreach assign-by-reference creates broken variables)
authorXinchen Hui <laruence@gmail.com>
Fri, 8 Apr 2016 09:57:51 +0000 (17:57 +0800)
committerXinchen Hui <laruence@gmail.com>
Fri, 8 Apr 2016 09:57:51 +0000 (17:57 +0800)
NEWS
ext/soap/php_encoding.c

diff --git a/NEWS b/NEWS
index 81214094d7da9cdf577b554d08fafe31d28c68b0..cccbc56f9e13b5d9e1a92cc4641dded957b714e0 100644 (file)
--- 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)
index 1fdc5a878893867f3f318136f41c96e6c000d0df..fc389f2365ef4e5c55009c720732f32bd61e5f66 100644 (file)
@@ -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;