diff options
| -rw-r--r-- | ext/xmlrpc/tests/bug37057.phpt | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/ext/xmlrpc/tests/bug37057.phpt b/ext/xmlrpc/tests/bug37057.phpt new file mode 100644 index 0000000000..0764d8af67 --- /dev/null +++ b/ext/xmlrpc/tests/bug37057.phpt @@ -0,0 +1,62 @@ +--TEST-- +Bug #37057 (xmlrpc_decode() may produce arrays with numeric string keys which are unaccessible) +--FILE-- +<?php +$response='<?xml version="1.0"?> +<methodResponse> + <params> + <param> + <value> + <struct> + <member> + <name>50</name> + <value><string>0.29</string></value> + </member> + </struct> + </value> + </param> + </params> +</methodResponse>'; + +$retval=xmlrpc_decode($response); +var_dump($retval); +var_dump($retval["50"]); +var_dump($retval[50]); + +$response='<?xml version="1.0"?> +<methodResponse> + <params> + <param> + <value> + <struct> + <member> + <name>0</name> + <value><string>0.29</string></value> + </member> + </struct> + </value> + </param> + </params> +</methodResponse>'; + +$retval=xmlrpc_decode($response); +var_dump($retval); +var_dump($retval["0"]); +var_dump($retval[0]); + +echo "Done\n"; +?> +--EXPECT-- +array(1) { + [50]=> + string(4) "0.29" +} +string(4) "0.29" +string(4) "0.29" +array(1) { + [0]=> + string(4) "0.29" +} +string(4) "0.29" +string(4) "0.29" +Done |
