diff --git a/NEWS b/NEWS index bd6763703b4..a0b821f6fc6 100644 --- 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: diff --git a/ext/soap/php_sdl.c b/ext/soap/php_sdl.c index 4ba1119d35b..548a4223f00 100644 --- a/ext/soap/php_sdl.c +++ b/ext/soap/php_sdl.c @@ -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; }