--- /dev/null
+--TEST--\r
+Bug #53493 (xmlrpc_decode should not be sensitive to leading whitespace)\r
+--FILE--\r
+<?php\r
+$req = PHP_EOL . \r
+ '<?xml version="1.0"?><methodResponse><params><param>' . \r
+ '<value><string>Hello World</string></value></param>' . \r
+ '</params></methodResponse>';\r
+\r
+var_dump(xmlrpc_decode($req));\r
+echo "Done\n";\r
+?>\r
+--EXPECT--\r
+string(11) "Hello World"\r
+Done\r
#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"
}
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);