On 04/21/2015 08:02 PM, John Snow wrote:
> As a convenience for the user, replace any single quotes given
> with double quotes so that the data will deserialize correctly
> via json.loads().
> 
> Signed-off-by: John Snow <js...@redhat.com>
> ---
>  scripts/qmp/qmp-shell | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/scripts/qmp/qmp-shell b/scripts/qmp/qmp-shell
> index 5347f89..d7cb33d 100755
> --- a/scripts/qmp/qmp-shell
> +++ b/scripts/qmp/qmp-shell
> @@ -129,7 +129,7 @@ class QMPShell(qmp.QEMUMonitorProtocol):
>  
>              < command-name > [ arg-name1=arg1 ] ... [ arg-nameN=argN ]
>          """
> -        cmdargs = cmdline.split()
> +        cmdargs = cmdline.replace("'", '"').split()

This replaces ALL single quotes, even if they would otherwise be
escaped.  That is, if I pass foo="a\'\"b", it will probably be corrupted.

qmp-shell exists mainly as a convenience for testing, and I doubt
testers are likely to want to use unbalanced quotes as contents of
strings, so I can give a weak:
Reviewed-by: Eric Blake <ebl...@redhat.com>

But it's still worth thinking about whether there is a more robust
solution to be used.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to