summaryrefslogtreecommitdiff
path: root/ext/soap/php_sdl.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2015-11-12 20:31:52 +0300
committerDmitry Stogov <dmitry@zend.com>2015-11-12 20:31:52 +0300
commitf8bf9bd86bdeef33a48e43d772d8a25a4fe3e6ff (patch)
treee9ab628d998af98f9dea45fc616e2d66391c9b90 /ext/soap/php_sdl.c
parent391087ed280f86f144ffa5a2b72eeeda3c271743 (diff)
downloadphp-git-f8bf9bd86bdeef33a48e43d772d8a25a4fe3e6ff.tar.gz
Fixed bug #70900 (SoapClient systematic out of memory error)
Diffstat (limited to 'ext/soap/php_sdl.c')
-rw-r--r--ext/soap/php_sdl.c4
1 files changed, 3 insertions, 1 deletions
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;
}