From f8bf9bd86bdeef33a48e43d772d8a25a4fe3e6ff Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Thu, 12 Nov 2015 20:31:52 +0300 Subject: [PATCH] Fixed bug #70900 (SoapClient systematic out of memory error) --- NEWS | 3 +++ ext/soap/php_sdl.c | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index bd6763703b..a0b821f6fc 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 4ba1119d35..548a4223f0 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; } -- 2.50.1