qdev-monitor: fix segmentation fault on qdev_device_help()
Normally, qmp_device_list_properties() may return NULL when a device haven't special properties excpet Object and DeviceState properties, such as virtio-balloon-device. We just need check local_err instead of prop_list. Example: Segmentation fault (core dumped) The backtrace as below: Program received signal SIGSEGV, Segmentation fault. 0x00005555559af1a8 in error_get_pretty (err=0x0) at util/error.c:152 152 return err->msg; (gdb) bt func=0x55555574a6ca <device_help_func>, opaque=0x0, abort_on_failure=0) at util/qemu-option.c:1072 Signed-off-by: Gonglei <arei.gonglei@huawei.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
parent
8007429a99
commit
0722eba945
@ -206,7 +206,7 @@ int qdev_device_help(QemuOpts *opts)
|
|||||||
}
|
}
|
||||||
|
|
||||||
prop_list = qmp_device_list_properties(driver, &local_err);
|
prop_list = qmp_device_list_properties(driver, &local_err);
|
||||||
if (!prop_list) {
|
if (local_err) {
|
||||||
error_printf("%s\n", error_get_pretty(local_err));
|
error_printf("%s\n", error_get_pretty(local_err));
|
||||||
error_free(local_err);
|
error_free(local_err);
|
||||||
return 1;
|
return 1;
|
||||||
|
Loading…
Reference in New Issue
Block a user