#45226 [Com]: xmlrpc_set_type() segfaults with valid ISO8601 date string
| From: | ndeschildre at gmail dot com | Date: | Tue, 09 Sep 2008 15:17:40 +0000 |
| Subject: | #45226 [Com]: xmlrpc_set_type() segfaults with valid ISO8601 date string | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-128803@lists.php.net to get a copy of this message | ||
ID: 45226
Comment by: ndeschildre at gmail dot com
Reported By: bmn at bmn dot name
Status: Verified
Bug Type: XMLRPC-EPI related
Operating System: *
PHP Version: 5.2.6
New Comment:
Patch found on the original xmlrpc-epi lib:
http://xmlrpc-epi.cvs.sourceforge.net/xmlrpc-epi/xmlrpc/src/xmlrpc.c?r1=1.31&r2=1.32
Previous Comments:
------------------------------------------------------------------------
[2008-06-10 05:12:19] bmn at bmn dot name
Description:
------------
PHP crashes when trying to call xmlrpc_set_type with a correctly
formatted ISO8601 datetime string from the date() function.
Note that if you specify a datetime string without the +/-00:00, it
will work.
If you specify the timezome information (as the constant DATE_ISO8601
does), php will crash.
Reproduce code:
---------------
// this code breaks
$d = date(DATE_ISO8601);
xmlrpc_set_type($d, 'datetime');
echo xmlrpc_encode_request('method.call', array('date' => $d));
//working code
$d = '2008-01-01 20:00:00';
xmlrpc_set_type($d, 'datetime');
echo xmlrpc_encode_request('method.call', array('date' => $d));
Expected result:
----------------
<methodCall>
<methodName>method.call</methodName>
<params>
<param>
<value>
<struct>
<member>
<name>date</name>
<value>
<dateTime.iso8601>20080101T20:00:00</dateTime.iso8601>
</value>
</member>
</struct>
</value>
</param>
</params>
</methodCall>
Actual result:
--------------
*** stack smashing detected ***: php terminated
Aborted (core dumped)
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=45226&edit=1