tony2001 Mon Nov 12 11:23:05 2007 UTC Added files: (Branch: PHP_5_3) /php-src/ext/xmlrpc/tests bug42736.phpt
Modified files: /php-src/ext/xmlrpc xmlrpc-epi-php.c /php-src NEWS Log: MFH: fix #42736 (xmlrpc_server_call_method() crashes) http://cvs.php.net/viewvc.cgi/php-src/ext/xmlrpc/xmlrpc-epi-php.c?r1=1.39.2.5.2.6.2.1&r2=1.39.2.5.2.6.2.2&diff_format=u Index: php-src/ext/xmlrpc/xmlrpc-epi-php.c diff -u php-src/ext/xmlrpc/xmlrpc-epi-php.c:1.39.2.5.2.6.2.1 php-src/ext/xmlrpc/xmlrpc-epi-php.c:1.39.2.5.2.6.2.2 --- php-src/ext/xmlrpc/xmlrpc-epi-php.c:1.39.2.5.2.6.2.1 Thu Sep 27 18:00:46 2007 +++ php-src/ext/xmlrpc/xmlrpc-epi-php.c Mon Nov 12 11:23:04 2007 @@ -51,7 +51,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: xmlrpc-epi-php.c,v 1.39.2.5.2.6.2.1 2007/09/27 18:00:46 dmitry Exp $ */ +/* $Id: xmlrpc-epi-php.c,v 1.39.2.5.2.6.2.2 2007/11/12 11:23:04 tony2001 Exp $ */ /********************************************************************** * BUGS: * @@ -523,7 +523,7 @@ break; case HASH_KEY_IS_STRING: case HASH_KEY_IS_LONG: - ht = HASH_OF(*pIter); + ht = HASH_OF(*pIter); if (ht) { ht->nApplyCount++; } @@ -874,10 +874,9 @@ pData->php_executed = 1; - zval_dtor(xmlrpc_params); - FREE_ZVAL(xmlrpc_params); + zval_ptr_dtor(&xmlrpc_params); - return NULL; + return NULL; } /* called by the C server when it first receives an introspection request. We pass this on to http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.965.2.46&r2=1.2027.2.547.2.965.2.47&diff_format=u Index: php-src/NEWS diff -u php-src/NEWS:1.2027.2.547.2.965.2.46 php-src/NEWS:1.2027.2.547.2.965.2.47 --- php-src/NEWS:1.2027.2.547.2.965.2.46 Fri Nov 9 16:27:42 2007 +++ php-src/NEWS Mon Nov 12 11:23:04 2007 @@ -59,6 +59,7 @@ - Fixed bug #42848 (Status: header incorrect under FastCGI). (Dmitry) - Fixed bug #42773 (WSDL error causes HTTP 500 Response). (Dmitry) - Fixed bug #42737 (preg_split('//u') triggers a E_NOTICE with newlines). (Nuno) +- Fixed bug #42736 (xmlrpc_server_call_method() crashes). (Tony) - Fixed bug #42657 (ini_get() returns incorrect value when default is NULL). (Jani) - Fixed bug #42637 (SoapFault : Only http and https are allowed). (Bill Moran) http://cvs.php.net/viewvc.cgi/php-src/ext/xmlrpc/tests/bug42736.phpt?view=markup&rev=1.1 Index: php-src/ext/xmlrpc/tests/bug42736.phpt +++ php-src/ext/xmlrpc/tests/bug42736.phpt --TEST-- Bug #42736 (xmlrpc_server_call_method() crashes) --SKIPIF-- <?php if (!extension_loaded("xmlrpc")) print "skip"; ?> --FILE-- <?php class SOAP_Array { public function get($id){ return $this->add($id); } } $xml = xmlrpc_server_create(); $Myrequest = '<?xml version="1.0" encoding="UTF-8"?><methodCall><methodName>GetProducts</methodName><params><param><value><dateTime.iso8601>20060922T14:26:19</dateTime.iso8601></value></param></params></methodCall>'; class MyClass { function GetProducts($dummy, $time){ return array('faultString' => $time); } } $myclass = new MyClass(); xmlrpc_server_register_method($xml, 'GetProducts', array($myclass, 'GetProducts')); $response = xmlrpc_server_call_method($xml, $Myrequest, null); var_dump($response); echo "Done\n"; ?> --EXPECTF-- string(402) "<?xml version="1.0" encoding="iso-8859-1"?> <methodResponse> <params> <param> <value> <struct> <member> <name>faultString</name> <value> <array> <data> <value> <dateTime.iso8601>20060922T14:26:19</dateTime.iso8601> </value> </data> </array> </value> </member> </struct> </value> </param> </params> </methodResponse> " Done -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php