summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;
}