mirror of
https://git.proxmox.com/git/qemu
synced 2025-06-14 21:59:32 +00:00
qdev-monitor: Fix crash when device_add is called with abstract driver
User is able to crash running QEMU when following monitor command is called: device_add intel-hda-generic Crash is caused by assertion in object_initialize_with_type() when type is abstract. Checking if type is abstract before instance is created in qdev_device_add() allows to prevent crash on incorrect user input. Cc: qemu-stable@nongnu.org Signed-off-by: Igor Mammedov <imammedo@redhat.com> Signed-off-by: Andreas Färber <afaerber@suse.de>
This commit is contained in:
parent
f4d8579560
commit
2fa4e56d88
@ -481,6 +481,12 @@ DeviceState *qdev_device_add(QemuOpts *opts)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (object_class_is_abstract(oc)) {
|
||||||
|
qerror_report(QERR_INVALID_PARAMETER_VALUE, "driver",
|
||||||
|
"non-abstract device type");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
dc = DEVICE_CLASS(oc);
|
dc = DEVICE_CLASS(oc);
|
||||||
|
|
||||||
/* find bus */
|
/* find bus */
|
||||||
|
Loading…
Reference in New Issue
Block a user