File tree Expand file tree Collapse file tree 3 files changed +24
-1
lines changed Expand file tree Collapse file tree 3 files changed +24
-1
lines changed Original file line number Diff line number Diff line change @@ -17,6 +17,9 @@ PHP NEWS
1717 . Fixed bug GH-19669 (assertion failure in zend_jit_trace_type_to_info_ex).
1818 (Arnaud)
1919
20+ - Soap:
21+ . Fixed bug GH-19784 (SoapServer memory leak). (nielsdos)
22+
2023- Standard:
2124 . Fixed bug GH-12265 (Cloning an object breaks serialization recursion).
2225 (nielsdos)
Original file line number Diff line number Diff line change @@ -1002,7 +1002,13 @@ PHP_METHOD(SoapServer, __construct)
10021002 service -> soap_functions .ft = zend_new_array (0 );
10031003
10041004 if (wsdl ) {
1005- service -> sdl = get_sdl (ZEND_THIS , ZSTR_VAL (wsdl ), cache_wsdl );
1005+ zend_try {
1006+ service -> sdl = get_sdl (ZEND_THIS , ZSTR_VAL (wsdl ), cache_wsdl );
1007+ } zend_catch {
1008+ xmlCharEncCloseFunc (service -> encoding );
1009+ service -> encoding = NULL ;
1010+ zend_bailout ();
1011+ } zend_end_try ();
10061012 if (service -> uri == NULL ) {
10071013 if (service -> sdl -> target_ns ) {
10081014 service -> uri = estrdup (service -> sdl -> target_ns );
Original file line number Diff line number Diff line change 1+ --TEST--
2+ GH-19784 (SoapServer memory leak)
3+ --EXTENSIONS--
4+ soap
5+ --FILE--
6+ <?php
7+ $ v_5256 = 'zpHOks6TzpTOlc6WzpfOmM6ZzprOm86czp3Ons6fzqDOoc6jzqTOpc6mzqfOqM6p ' ;
8+ $ v_5257 = base64_decode ($ v_5256 ,);
9+ $ v_5238 = array ('encoding ' => $ v_5257 );
10+ new SoapServer ('foobarbaz ' ,$ v_5238 ,);
11+ ?>
12+ --EXPECTF--
13+ <? xml version="1.0 " encoding="UTF -8 "?>
14+ <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>%s</faultcode><faultstring>%a
You can’t perform that action at this time.
0 commit comments