summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXinchen Hui <laruence@php.net>2015-07-16 18:32:42 +0800
committerXinchen Hui <laruence@php.net>2015-07-16 18:32:42 +0800
commitdeeb6379cb26d457badae58df4f24bc30a334ebe (patch)
tree9c7801448411751df533c0abb5d863cd039151fe
parentc13124cc0f489f0fd8f1b3f3f7cab0f3331b2059 (diff)
downloadphp-git-deeb6379cb26d457badae58df4f24bc30a334ebe.tar.gz
Fixed bug #70079 (Segmentation fault after more than 100 SoapClient calls)
-rw-r--r--NEWS2
-rw-r--r--ext/soap/php_http.c2
2 files changed, 4 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index d29234b5b5..940f6e35ab 100644
--- 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)
diff --git a/ext/soap/php_http.c b/ext/soap/php_http.c
index e0a749f83d..60dd9dd3ae 100644
--- a/ext/soap/php_http.c
+++ b/ext/soap/php_http.c
@@ -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 &&