[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 01/20] qdev: Fix crash by validating the object type
From: |
Andreas Färber |
Subject: |
[Qemu-devel] [PULL 01/20] qdev: Fix crash by validating the object type |
Date: |
Mon, 5 May 2014 21:03:45 +0200 |
From: Amos Kong <address@hidden>
QEMU crashed when I try to list device parameters and the driver name is
actually an available bus name.
# qemu -device virtio-pci-bus,?
# qemu -device virtio-bus,?
# qemu -device virtio-serial-bus,?
qdev-monitor.c:212:qdev_device_help: Object 0x7fd932f50620 is not an
instance of type device
Aborted (core dumped)
We can also reproduce this bug by adding device from monitor, so it's
worth to fix the crash.
(qemu) device_add virtio-serial-bus
qdev-monitor.c:491:qdev_device_add: Object 0x7f5e89530920 is not an
instance of type device
Aborted (core dumped)
Cc: address@hidden
Signed-off-by: Amos Kong <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
---
qdev-monitor.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/qdev-monitor.c b/qdev-monitor.c
index 6189780..02cbe43 100644
--- a/qdev-monitor.c
+++ b/qdev-monitor.c
@@ -206,7 +206,7 @@ int qdev_device_help(QemuOpts *opts)
}
}
- if (!klass) {
+ if (!object_class_dynamic_cast(klass, TYPE_DEVICE)) {
return 0;
}
do {
--
1.8.4.5
- [Qemu-devel] [PULL 00/20] QOM devices patch queue 2014-05-05, Andreas Färber, 2014/05/05
- [Qemu-devel] [PULL 02/20] machine: Remove obsoleted field from QEMUMachine, Andreas Färber, 2014/05/05
- [Qemu-devel] [PULL 11/20] MAINTAINERS: Document QOM, Andreas Färber, 2014/05/05
- [Qemu-devel] [PULL 10/20] arm: Clean up fragile use of error_is_set() in realize() methods, Andreas Färber, 2014/05/05
- [Qemu-devel] [PULL 12/20] qtest: Assure that init_socket()'s listen() does not fail, Andreas Färber, 2014/05/05
- [Qemu-devel] [PULL 01/20] qdev: Fix crash by validating the object type,
Andreas Färber <=
- [Qemu-devel] [PULL 05/20] machine: Replace QEMUMachine by MachineClass in accelerator configuration, Andreas Färber, 2014/05/05
- [Qemu-devel] [PULL 13/20] qtest: Add error reporting to socket_accept(), Andreas Färber, 2014/05/05
- [Qemu-devel] [PULL 16/20] tests: Add es1370 qtest, Andreas Färber, 2014/05/05
- [Qemu-devel] [PULL 18/20] tests: Add ioh3420 qtest, Andreas Färber, 2014/05/05
- [Qemu-devel] [PULL 14/20] qtest: Be paranoid about accept() addrlen argument, Andreas Färber, 2014/05/05
- [Qemu-devel] [PULL 04/20] vl.c: Replace QEMUMachine with MachineClass in QEMUMachineInitArgs, Andreas Färber, 2014/05/05
- [Qemu-devel] [PULL 06/20] machine: Remove QEMUMachine indirection from MachineClass, Andreas Färber, 2014/05/05
- [Qemu-devel] [PULL 03/20] machine: Copy QEMUMachine's fields to MachineClass, Andreas Färber, 2014/05/05
- [Qemu-devel] [PULL 09/20] qom: Clean up fragile use of error_is_set() in set() methods, Andreas Färber, 2014/05/05
- [Qemu-devel] [PULL 08/20] hw: Consistently name Error ** objects errp, and not err, Andreas Färber, 2014/05/05