From: Dmitry Stogov Date: Thu, 27 Nov 2008 11:25:22 +0000 (+0000) Subject: Fixed bug #46427 (SoapClient() stumbles over its "stream_context" parameter) X-Git-Tag: php-5.2.7RC5~8 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=84ce97f43ddfde8c551d5e5a3f8c389f1089e387;p=php Fixed bug #46427 (SoapClient() stumbles over its "stream_context" parameter) --- diff --git a/NEWS b/NEWS index 753736b55f..53f5b2a677 100644 --- a/NEWS +++ b/NEWS @@ -9,6 +9,8 @@ PHP NEWS inconsistent results). (Arnaud) - Fixed bug #46626 (mb_convert_case does not handle apostrophe correctly). (Ilia) +- Fixed bug #46427 (SoapClient() stumbles over its "stream_context" parameter). + (Dmitry, Herman Radtke) - Fixed bug #44182 (extract($a, EXTR_REFS) can fail to split copy-on-write references). (robin_fernandes at uk dot ibm dot com) - Fixed bug #44181 (extract($a, EXTR_OVERWRITE|EXTR_REFS) can fail to create diff --git a/ext/soap/soap.c b/ext/soap/soap.c index 479639eb9d..757e65eb79 100644 --- a/ext/soap/soap.c +++ b/ext/soap/soap.c @@ -2348,6 +2348,7 @@ PHP_METHOD(SoapClient, SoapClient) if (zend_hash_find(ht, "stream_context", sizeof("stream_context"), (void**)&tmp) == SUCCESS && Z_TYPE_PP(tmp) == IS_RESOURCE) { context = php_stream_context_from_zval(*tmp, 1); + zend_list_addref(context->rsrc_id); } if (zend_hash_find(ht, "location", sizeof("location"), (void**)&tmp) == SUCCESS && diff --git a/ext/soap/tests/bugs/bug46427.phpt b/ext/soap/tests/bugs/bug46427.phpt new file mode 100644 index 0000000000..5cf2e8f968 --- /dev/null +++ b/ext/soap/tests/bugs/bug46427.phpt @@ -0,0 +1,20 @@ +--TEST-- +Bug #46427 (SoapClient() stumbles over its "stream_context" parameter) +--FILE-- + $ctx, + 'location' => 'test://', + 'uri' => 'test://', + 'exceptions' => false)); +} + +getSoapClient_1()->__soapCall('Help', array()); +echo "ok\n"; +?> +--EXPECT-- +ok