]> granicus.if.org Git - php/commitdiff
Fixed bug #70900 (SoapClient systematic out of memory error)
authorDmitry Stogov <dmitry@zend.com>
Thu, 12 Nov 2015 17:31:52 +0000 (20:31 +0300)
committerDmitry Stogov <dmitry@zend.com>
Thu, 12 Nov 2015 17:31:52 +0000 (20:31 +0300)
NEWS
ext/soap/php_sdl.c

diff --git a/NEWS b/NEWS
index bd6763703b4335a5078986556766d83441716884..a0b821f6fc68cff77ac66846ecbe28dfb5c14ebf 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,9 @@ PHP                                                                        NEWS
 |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
 ?? ??? 2015, PHP 5.6.17
 
+- SOAP:
+  . Fixed bug #70900 (SoapClient systematic out of memory error). (Dmitry)
+
 26 Nov 2015, PHP 5.6.16
 
 - Core:
index 4ba1119d35b1fd23d9ae44c11558d3f56c824674..548a4223f004b583205657d130f86e8f606e44a0 100644 (file)
@@ -1157,7 +1157,9 @@ static sdlPtr load_wsdl(zval *this_ptr, char *struri TSRMLS_DC)
                                        zend_hash_init(ctx.sdl->bindings, 0, NULL, delete_binding, 0);
                                }
 
-                               zend_hash_add(ctx.sdl->bindings, tmpbinding->name, strlen(tmpbinding->name), &tmpbinding, sizeof(sdlBindingPtr), NULL);
+                               if (zend_hash_add(ctx.sdl->bindings, tmpbinding->name, strlen(tmpbinding->name), &tmpbinding, sizeof(sdlBindingPtr), NULL) != SUCCESS) {
+                                       zend_hash_next_index_insert(ctx.sdl->bindings, &tmpbinding, sizeof(sdlBindingPtr), NULL);
+                               }
                                trav= trav->next;
                        }