tony2001 Fri Aug 11 17:50:01 2006 UTC Added files: (Branch: PHP_4_4) /php-src/ext/xmlrpc/tests bug38431.phpt
Modified files: /php-src NEWS /php-src/ext/xmlrpc xmlrpc-epi-php.c Log: MFH: fix #38431 (xmlrpc_get_type() crashes PHP on objects) http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.1247.2.920.2.152&r2=1.1247.2.920.2.153&diff_format=u Index: php-src/NEWS diff -u php-src/NEWS:1.1247.2.920.2.152 php-src/NEWS:1.1247.2.920.2.153 --- php-src/NEWS:1.1247.2.920.2.152 Fri Aug 11 13:04:14 2006 +++ php-src/NEWS Fri Aug 11 17:50:01 2006 @@ -7,6 +7,7 @@ enabled. (Stefan E.) - Fixed a memory corruption error with an invalid foreach() call. (Stefan E., Dmitry, Derick) +- Fixed bug #38431 (xmlrpc_get_type() crashes PHP on objects). (Tony) - Fixed bug #38377 (session_destroy() gives warning after session_regenerate_id()). (Ilia) - Fixed bug #38322 (reading past array in sscanf() leads to arbitary code http://cvs.php.net/viewvc.cgi/php-src/ext/xmlrpc/xmlrpc-epi-php.c?r1=1.24.2.4.4.4&r2=1.24.2.4.4.5&diff_format=u Index: php-src/ext/xmlrpc/xmlrpc-epi-php.c diff -u php-src/ext/xmlrpc/xmlrpc-epi-php.c:1.24.2.4.4.4 php-src/ext/xmlrpc/xmlrpc-epi-php.c:1.24.2.4.4.5 --- php-src/ext/xmlrpc/xmlrpc-epi-php.c:1.24.2.4.4.4 Sun Jan 1 13:46:59 2006 +++ php-src/ext/xmlrpc/xmlrpc-epi-php.c Fri Aug 11 17:50:01 2006 @@ -51,7 +51,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: xmlrpc-epi-php.c,v 1.24.2.4.4.4 2006/01/01 13:46:59 sniper Exp $ */ +/* $Id: xmlrpc-epi-php.c,v 1.24.2.4.4.5 2006/08/11 17:50:01 tony2001 Exp $ */ /********************************************************************** * BUGS: * @@ -1492,7 +1492,7 @@ type = get_zval_xmlrpc_type(arg, 0); if (type == xmlrpc_vector) { - vtype = determine_vector_type(Z_ARRVAL_P(arg)); + vtype = determine_vector_type((Z_TYPE_P(arg) == IS_OBJECT) ? Z_OBJPROP_P(arg) : Z_ARRVAL_P(arg)); } RETURN_STRING((char*) xmlrpc_type_as_str(type, vtype), 1); http://cvs.php.net/viewvc.cgi/php-src/ext/xmlrpc/tests/bug38431.phpt?view=markup&rev=1.1 Index: php-src/ext/xmlrpc/tests/bug38431.phpt +++ php-src/ext/xmlrpc/tests/bug38431.phpt --TEST-- Bug #38431 (xmlrpc_get_type() crashes PHP on objects) --SKIPIF-- <?php if (!extension_loaded("xmlrpc")) print "skip"; ?> --FILE-- <?php var_dump(xmlrpc_get_type(new stdclass)); var_dump(xmlrpc_get_type(array())); $var = array(1,2,3); var_dump(xmlrpc_get_type($var)); $var = array("test"=>1,2,3); var_dump(xmlrpc_get_type($var)); $var = array("test"=>1,"test2"=>2); var_dump(xmlrpc_get_type($var)); echo "Done\n"; ?> --EXPECTF-- string(5) "array" string(5) "array" string(5) "array" string(5) "mixed" string(6) "struct" Done -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php