diff options
-rw-r--r-- | ext/soap/php_sdl.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/ext/soap/php_sdl.c b/ext/soap/php_sdl.c index c5ce0fe8d3..2ab0206556 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; } |