diff options
author | Markus Armbruster <armbru@redhat.com> | 2021-03-24 09:41:30 +0100 |
---|---|---|
committer | Thomas Huth <thuth@redhat.com> | 2021-04-01 14:28:39 +0200 |
commit | bd74ecd1c39ca7699819ca5cf39c07f50c5f8d5d (patch) | |
tree | ddc1f87da189763860efe6f84b1b0864372f3625 | |
parent | 2d53d0c77f95433a70f89f837f7ee768d79ac3cc (diff) | |
download | qemu-bd74ecd1c39ca7699819ca5cf39c07f50c5f8d5d.zip qemu-bd74ecd1c39ca7699819ca5cf39c07f50c5f8d5d.tar.gz qemu-bd74ecd1c39ca7699819ca5cf39c07f50c5f8d5d.tar.bz2 |
qom: Fix default values in help
Output of default values in device help is broken:
$ ./qemu-system-x86_64 -S -display none -monitor stdio
QEMU 5.2.50 monitor - type 'help' for more information
(qemu) device_add pvpanic,help
pvpanic options:
events=<uint8> - (default: (null))
ioport=<uint16> - (default: (null))
pvpanic[0]=<child<qemu:memory-region>>
The "(null)" is glibc printing a null pointer. Other systems crash
instead. Having a help request crash a running VM can really spoil
your day.
Root cause is a botched replacement of qstring_free() by
g_string_free(): to get the string back, we need to pass true to the
former, but false to the latter. Fix the argument.
Fixes: eab3a4678b07267c39e7290a6e9e7690b1d2a521
Reported-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20210324084130.3986072-1-armbru@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
-rw-r--r-- | qom/object_interfaces.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/qom/object_interfaces.c b/qom/object_interfaces.c index c3324b0..bd8a947 100644 --- a/qom/object_interfaces.c +++ b/qom/object_interfaces.c @@ -159,7 +159,7 @@ char *object_property_help(const char *name, const char *type, } if (defval) { g_autofree char *def_json = g_string_free(qobject_to_json(defval), - true); + false); g_string_append_printf(str, " (default: %s)", def_json); } |