kalle Mon, 13 Dec 2010 09:52:05 +0000 Revision: http://svn.php.net/viewvc?view=revision&revision=306339
Log: Fixed bug #53493 (xmlrpc_decode should not be sensitive to leading whitespace) Bug: http://bugs.php.net/53493 (Assigned) xmlrpc_decode should not be sensitive to leading whitespace Changed paths: U php/php-src/branches/PHP_5_3/NEWS A php/php-src/branches/PHP_5_3/ext/xmlrpc/tests/bug53493.phpt U php/php-src/branches/PHP_5_3/ext/xmlrpc/xmlrpc-epi-php.c A php/php-src/trunk/ext/xmlrpc/tests/bug53493.phpt U php/php-src/trunk/ext/xmlrpc/xmlrpc-epi-php.c Modified: php/php-src/branches/PHP_5_3/NEWS =================================================================== --- php/php-src/branches/PHP_5_3/NEWS 2010-12-13 09:04:07 UTC (rev 306338) +++ php/php-src/branches/PHP_5_3/NEWS 2010-12-13 09:52:05 UTC (rev 306339) @@ -51,6 +51,10 @@ - Streams: . Implemented FR #26158 (open arbitrary file descriptor with fopen). (Gustavo) +- XMLRPC-EPI: + . Fixed bug #53493 (xmlrpc_decode should not be sensitive to leading + whitespace). (Kalle) + 09 Dec 2010, PHP 5.3.4 - Upgraded bundled Sqlite3 to version 3.7.3. (Ilia) - Upgraded bundled PCRE to version 8.10. (Ilia) Added: php/php-src/branches/PHP_5_3/ext/xmlrpc/tests/bug53493.phpt =================================================================== --- php/php-src/branches/PHP_5_3/ext/xmlrpc/tests/bug53493.phpt (rev 0) +++ php/php-src/branches/PHP_5_3/ext/xmlrpc/tests/bug53493.phpt 2010-12-13 09:52:05 UTC (rev 306339) @@ -0,0 +1,15 @@ +--TEST-- +Bug #53493 (xmlrpc_decode should not be sensitive to leading whitespace) +--FILE-- +<?php +$req = PHP_EOL . + '<?xml version="1.0"?><methodResponse><params><param>' . + '<value><string>Hello World</string></value></param>' . + '</params></methodResponse>'; + +var_dump(xmlrpc_decode($req)); +echo "Done\n"; +?> +--EXPECT-- +string(11) "Hello World" +Done Modified: php/php-src/branches/PHP_5_3/ext/xmlrpc/xmlrpc-epi-php.c =================================================================== --- php/php-src/branches/PHP_5_3/ext/xmlrpc/xmlrpc-epi-php.c 2010-12-13 09:04:07 UTC (rev 306338) +++ php/php-src/branches/PHP_5_3/ext/xmlrpc/xmlrpc-epi-php.c 2010-12-13 09:52:05 UTC (rev 306339) @@ -67,6 +67,7 @@ #include "php.h" #include "ext/standard/info.h" +#include "ext/standard/php_string.h" #include "ext/date/php_date.h" #include "php_ini.h" #include "php_xmlrpc.h" @@ -844,7 +845,10 @@ } if (return_value_used) { - zval* retval = decode_request_worker(arg1, arg1_len, arg2_len ? arg2 : NULL, NULL); + zval* retval; + char *trimmed = php_trim(arg1, arg1_len, NULL, 0, NULL, 1 TSRMLS_CC); + + retval = decode_request_worker(trimmed, strlen(trimmed), arg2_len ? arg2 : NULL, NULL); if (retval) { *return_value = *retval; FREE_ZVAL(retval); Added: php/php-src/trunk/ext/xmlrpc/tests/bug53493.phpt =================================================================== --- php/php-src/trunk/ext/xmlrpc/tests/bug53493.phpt (rev 0) +++ php/php-src/trunk/ext/xmlrpc/tests/bug53493.phpt 2010-12-13 09:52:05 UTC (rev 306339) @@ -0,0 +1,15 @@ +--TEST-- +Bug #53493 (xmlrpc_decode should not be sensitive to leading whitespace) +--FILE-- +<?php +$req = PHP_EOL . + '<?xml version="1.0"?><methodResponse><params><param>' . + '<value><string>Hello World</string></value></param>' . + '</params></methodResponse>'; + +var_dump(xmlrpc_decode($req)); +echo "Done\n"; +?> +--EXPECT-- +string(11) "Hello World" +Done Modified: php/php-src/trunk/ext/xmlrpc/xmlrpc-epi-php.c =================================================================== --- php/php-src/trunk/ext/xmlrpc/xmlrpc-epi-php.c 2010-12-13 09:04:07 UTC (rev 306338) +++ php/php-src/trunk/ext/xmlrpc/xmlrpc-epi-php.c 2010-12-13 09:52:05 UTC (rev 306339) @@ -67,6 +67,7 @@ #include "php.h" #include "ext/standard/info.h" +#include "ext/standard/php_string.h" #include "ext/date/php_date.h" #include "php_ini.h" #include "php_xmlrpc.h" @@ -844,7 +845,10 @@ } if (return_value_used) { - zval* retval = decode_request_worker(arg1, arg1_len, arg2_len ? arg2 : NULL, NULL); + zval* retval; + char *trimmed = php_trim(arg1, arg1_len, NULL, 0, NULL, 1 TSRMLS_CC); + + retval = decode_request_worker(trimmed, strlen(trimmed), arg2_len ? arg2 : NULL, NULL); if (retval) { *return_value = *retval; FREE_ZVAL(retval);
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php