summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2015-11-12 20:36:39 +0300
committerDmitry Stogov <dmitry@zend.com>2015-11-12 20:36:39 +0300
commit04526093e4afa7cbe0f0c01f2a914229ef3fd45b (patch)
tree3c76217a085a155f2141bf0a4f3017ccdf58ccaa
parentcc10da474d36820d103d410795bc70802284292b (diff)
parentf8bf9bd86bdeef33a48e43d772d8a25a4fe3e6ff (diff)
downloadphp-git-04526093e4afa7cbe0f0c01f2a914229ef3fd45b.tar.gz
Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6: Fixed bug #70900 (SoapClient systematic out of memory error)
-rw-r--r--NEWS3
-rw-r--r--ext/soap/php_sdl.c4
2 files changed, 6 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index 781bd7ef82..6327727537 100644
--- a/NEWS
+++ b/NEWS
@@ -6,6 +6,9 @@ PHP NEWS
. Fixed bug #70898, #70895 (null ptr deref and segfault with crafted callable).
(Anatol, Laruence)
+- SOAP:
+ . Fixed bug #70900 (SoapClient systematic out of memory error). (Dmitry)
+
- Streams/Socket
. Add IPV6_V6ONLY constant / make it usable in stream contexts. (Bob)
diff --git a/ext/soap/php_sdl.c b/ext/soap/php_sdl.c
index 6efd2b06c0..143dc5bb2b 100644
--- a/ext/soap/php_sdl.c
+++ b/ext/soap/php_sdl.c
@@ -1149,7 +1149,9 @@ static sdlPtr load_wsdl(zval *this_ptr, char *struri)
zend_hash_init(ctx.sdl->bindings, 0, NULL, delete_binding, 0);
}
- zend_hash_str_add_ptr(ctx.sdl->bindings, tmpbinding->name, strlen(tmpbinding->name), tmpbinding);
+ if (!zend_hash_str_add_ptr(ctx.sdl->bindings, tmpbinding->name, strlen(tmpbinding->name), tmpbinding)) {
+ zend_hash_next_index_insert_ptr(ctx.sdl->bindings, tmpbinding);
+ }
trav= trav->next;
}