]> granicus.if.org Git - php/commitdiff
Fixed bug #70079 (Segmentation fault after more than 100 SoapClient calls)
authorXinchen Hui <laruence@php.net>
Thu, 16 Jul 2015 10:32:42 +0000 (18:32 +0800)
committerXinchen Hui <laruence@php.net>
Thu, 16 Jul 2015 10:32:42 +0000 (18:32 +0800)
NEWS
ext/soap/php_http.c

diff --git a/NEWS b/NEWS
index d29234b5b5635d831017dc5cb1ee78c839a22aea..940f6e35ab3c4ae654210c83760002a78e82f3b3 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -28,6 +28,8 @@
   . Fixed bug #70058 (Build fails when building for i386). (Laruence)
 
 - Soap:
+  . Fixed bug #70079 (Segmentation fault after more than 100 SoapClient
+    calls). (Laruence)
   . Fixed bug #70032 (make_http_soap_request calls
     zend_hash_get_current_key_ex(,,,NULL). (Laruence)
 
index e0a749f83df86cc1e95f8929c98b29ddb6d828fa..60dd9dd3ae0f956043d7b0df4659b67da3979d92 100644 (file)
@@ -507,6 +507,7 @@ try_again:
                if (stream) {
                        php_stream_auto_cleanup(stream);
                        add_property_resource(this_ptr, "httpsocket", stream->res);
+                       GC_REFCOUNT(stream->res)++;
                        add_property_long(this_ptr, "_use_proxy", use_proxy);
                } else {
                        php_url_free(phpurl);
@@ -524,6 +525,7 @@ try_again:
                zend_resource *ret = zend_register_resource(phpurl, le_url);
 
                add_property_resource(this_ptr, "httpurl", ret);
+               GC_REFCOUNT(ret)++;
                /*zend_list_addref(ret);*/
 
                if (context &&