[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH] Avoid segmentation fault for qdev device not found
From: |
Glauber Costa |
Subject: |
[Qemu-devel] [PATCH] Avoid segmentation fault for qdev device not found |
Date: |
Thu, 12 May 2011 09:55:03 -0300 |
qdev_try_create will cope well with a NULL bus, since it will assume
the main system bus by default. qdev_create, however, wants to print
a message, in which it instantiates the bus name. That simple and at
first inoffensive message will generate a segmentation found if the
reason for failure is a NULL bus.
I propose we avoid that - thus generating the normal hw_error by
always passing a valid bus to qdev_try_create - if none, be it the
main system bus.
The code for testing a NULL bus is not remove from qdev_try_create
because it is a externally visible function, and we want it to continue
working fine.
Signed-off-by: Glauber Costa <address@hidden>
---
hw/qdev.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/hw/qdev.c b/hw/qdev.c
index 1aa1ea0..21ef075 100644
--- a/hw/qdev.c
+++ b/hw/qdev.c
@@ -108,6 +108,10 @@ DeviceState *qdev_create(BusState *bus, const char *name)
{
DeviceState *dev;
+ if (!bus) {
+ bus = sysbus_get_default();
+ }
+
dev = qdev_try_create(bus, name);
if (!dev) {
hw_error("Unknown device '%s' for bus '%s'\n", name, bus->info->name);
--
1.7.4.2
- [Qemu-devel] [PATCH] Avoid segmentation fault for qdev device not found,
Glauber Costa <=