Greg Kurz <[email protected]> writes:

> When invoking the script with -s, we end up passing a bogus value
> to QEMU:
>
> $ ./scripts/qmp/qom-set -s /var/tmp/qmp-sock-exp /machine.accel kvm
> {}
> $ ./scripts/qmp/qom-get -s /var/tmp/qmp-sock-exp /machine.accel
> /var/tmp/qmp-sock-exp
>
> This happens because sys.argv[2] isn't necessarily the command line
> argument that holds the value. It is sys.argv[4] when -s was also
> passed.
>
> Actually, the code already has a variable to handle that. This patch
> simply uses it.
>
> Signed-off-by: Greg Kurz <[email protected]>
> ---
>  scripts/qmp/qom-set |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/scripts/qmp/qom-set b/scripts/qmp/qom-set
> index 54ecfecc531e..94e27789224c 100755
> --- a/scripts/qmp/qom-set
> +++ b/scripts/qmp/qom-set
> @@ -61,4 +61,4 @@ else:
>  srv = QEMUMonitorProtocol(socket_path)
>  srv.connect()
>  
> -print srv.command('qom-set', path=path, property=prop, value=sys.argv[2])
> +print srv.command('qom-set', path=path, property=prop, value=value)

Given Python modules like argparse, doing option parsing by hand is
basically stupid.  This patch fixes it without making it any stupider.
Sold.

Reviewed-by: Markus Armbruster <[email protected]>

Reply via email to