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 <[email protected]> |
+----------------------------------------------------------------------+
*/
-/* $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