From: Rohit Kumar <rohit.kum...@nutanix.com> Qemu might crash when provided incomplete '-global' option. For example: qemu-system-x86_64 -global driver=isa-fdc qemu-system-x86_64: ../../devel/qemu/qapi/string-input-visitor.c:394: string_input_visitor_new: Assertion `str' failed. Aborted (core dumped)
Fixes: 3751d7c43f795b ("vl: allow full-blown QemuOpts syntax for -global") Signed-off-by: Rohit Kumar <rohit.kum...@nutanix.com> Reviewed-by: Markus Armbruster <arm...@redhat.com> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/604 Message-Id: <20220216071508.412974-1-rohit.kum...@nutanix.com> Signed-off-by: Thomas Huth <th...@redhat.com> --- softmmu/qdev-monitor.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/softmmu/qdev-monitor.c b/softmmu/qdev-monitor.c index fe6cf268ff..12fe60c467 100644 --- a/softmmu/qdev-monitor.c +++ b/softmmu/qdev-monitor.c @@ -1038,6 +1038,13 @@ int qemu_global_option(const char *str) if (!opts) { return -1; } + if (!qemu_opt_get(opts, "driver") + || !qemu_opt_get(opts, "property") + || !qemu_opt_get(opts, "value")) { + error_report("options 'driver', 'property', and 'value'" + " are required"); + return -1; + } return 0; } -- 2.27.0