[Qemu-devel] [PATCH] scripts/qmp/qom-set: fix the value argument passed to srv.command()

Greg Kurz posted 1 patch 6 years, 11 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/149373610338.5144.9635049015143453288.stgit@bahia.lan
Test checkpatch passed
Test docker passed
Test s390x passed
scripts/qmp/qom-set |    2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[Qemu-devel] [PATCH] scripts/qmp/qom-set: fix the value argument passed to srv.command()
Posted by Greg Kurz 6 years, 11 months ago
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 <groug@kaod.org>
---
 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)


Re: [Qemu-devel] [PATCH] scripts/qmp/qom-set: fix the value argument passed to srv.command()
Posted by Philippe Mathieu-Daudé 6 years, 11 months ago
On 05/02/2017 11:41 AM, Greg Kurz wrote:
> 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 <groug@kaod.org>

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

> ---
>  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)
>
>