Check and report for incomplete 'global' option format

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: 3751d7c43f ("vl: allow full-blown QemuOpts syntax for -global")
Signed-off-by: Rohit Kumar <rohit.kumar3@nutanix.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/604
Message-Id: <20220216071508.412974-1-rohit.kumar3@nutanix.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
Rohit Kumar 2022-02-15 23:15:08 -08:00 committed by Thomas Huth
parent 63021223ff
commit 818e163608

View File

@ -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;
}