tony2001 Mon Nov 12 11:24:14 2007 UTC
Added files: (Branch: PHP_5_2)
/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&r2=1.39.2.5.2.7&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
php-src/ext/xmlrpc/xmlrpc-epi-php.c:1.39.2.5.2.7
--- php-src/ext/xmlrpc/xmlrpc-epi-php.c:1.39.2.5.2.6 Tue Sep 18 19:49:53 2007
+++ php-src/ext/xmlrpc/xmlrpc-epi-php.c Mon Nov 12 11:24:13 2007
@@ -51,7 +51,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: xmlrpc-epi-php.c,v 1.39.2.5.2.6 2007/09/18 19:49:53 iliaa Exp $ */
+/* $Id: xmlrpc-epi-php.c,v 1.39.2.5.2.7 2007/11/12 11:24:13 tony2001 Exp $ */
/**********************************************************************
* BUGS: *
@@ -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.1004&r2=1.2027.2.547.2.1005&diff_format=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.2027.2.547.2.1004 php-src/NEWS:1.2027.2.547.2.1005
--- php-src/NEWS:1.2027.2.547.2.1004 Mon Nov 12 09:11:48 2007
+++ php-src/NEWS Mon Nov 12 11:24:13 2007
@@ -7,6 +7,7 @@
segfault). (Dmitry)
- Fixed bug #42937 (__call() method not invoked when methods are called on
parent from child class). (Dmitry)
+- Fixed bug #42736 (xmlrpc_server_call_method() crashes). (Tony)
08 Nov 2007, PHP 5.2.5
- Upgraded PCRE to version 7.3 (Nuno)
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