dmitry Wed Feb 18 13:25:49 2009 UTC Added files: (Branch: PHP_5_3) /php-src/ext/soap/tests/bugs bug47049.phpt bug47049.wsdl
Modified files: /php-src/ext/soap soap.c Log: Fixed bug #47049 (SoapClient::__soapCall causes a segmentation fault) http://cvs.php.net/viewvc.cgi/php-src/ext/soap/soap.c?r1=1.156.2.28.2.30.2.31&r2=1.156.2.28.2.30.2.32&diff_format=u Index: php-src/ext/soap/soap.c diff -u php-src/ext/soap/soap.c:1.156.2.28.2.30.2.31 php-src/ext/soap/soap.c:1.156.2.28.2.30.2.32 --- php-src/ext/soap/soap.c:1.156.2.28.2.30.2.31 Mon Feb 2 10:00:11 2009 +++ php-src/ext/soap/soap.c Wed Feb 18 13:25:48 2009 @@ -17,7 +17,7 @@ | Dmitry Stogov <dmi...@zend.com> | +----------------------------------------------------------------------+ */ -/* $Id: soap.c,v 1.156.2.28.2.30.2.31 2009/02/02 10:00:11 felipe Exp $ */ +/* $Id: soap.c,v 1.156.2.28.2.30.2.32 2009/02/18 13:25:48 dmitry Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -4377,7 +4377,17 @@ /*style = SOAP_RPC;*/ if (style == SOAP_RPC) { ns = encode_add_ns(body, uri); - method = xmlNewChild(body, ns, BAD_CAST(function_name), NULL); + if (function_name) { + method = xmlNewChild(body, ns, BAD_CAST(function_name), NULL); + } else if (function && function->requestName) { + method = xmlNewChild(body, ns, BAD_CAST(function->requestName), NULL); + } else if (function && function->functionName) { + method = xmlNewChild(body, ns, BAD_CAST(function->functionName), NULL); + } else { + method = body; + } + } else { + method = body; } if (zend_hash_find(Z_OBJPROP_P(this_ptr), "use", sizeof("use"), (void **)&zuse) == SUCCESS && http://cvs.php.net/viewvc.cgi/php-src/ext/soap/tests/bugs/bug47049.phpt?view=markup&rev=1.1 Index: php-src/ext/soap/tests/bugs/bug47049.phpt +++ php-src/ext/soap/tests/bugs/bug47049.phpt http://cvs.php.net/viewvc.cgi/php-src/ext/soap/tests/bugs/bug47049.wsdl?view=markup&rev=1.1 Index: php-src/ext/soap/tests/bugs/bug47049.wsdl +++ php-src/ext/soap/tests/bugs/bug47049.wsdl -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php