From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:56659) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QokFQ-0008Vk-An for qemu-devel@nongnu.org; Wed, 03 Aug 2011 18:49:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QokFP-00046o-Au for qemu-devel@nongnu.org; Wed, 03 Aug 2011 18:49:08 -0400 From: Peter Maydell Date: Wed, 3 Aug 2011 23:49:04 +0100 Message-Id: <1312411744-9292-1-git-send-email-peter.maydell@linaro.org> Subject: [Qemu-devel] [PATCH] hw/qdev: Don't crash if qdev_create(NULL, ...) fails List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: qemu-trivial@nongnu.org, patches@linaro.org If an attempt to create a qdev device on the default sysbus (by passing NULL as the bus to qdev_create) fails, print a useful error message rather than crashing trying to dereference a NULL pointer. Signed-off-by: Peter Maydell --- hw/qdev.c | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-) diff --git a/hw/qdev.c b/hw/qdev.c index b4ea8e1..3fec62a 100644 --- a/hw/qdev.c +++ b/hw/qdev.c @@ -110,7 +110,12 @@ DeviceState *qdev_create(BusState *bus, const char *name) dev = qdev_try_create(bus, name); if (!dev) { - hw_error("Unknown device '%s' for bus '%s'\n", name, bus->info->name); + if (bus) { + hw_error("Unknown device '%s' for bus '%s'\n", name, + bus->info->name); + } else { + hw_error("Unknown device '%s' for default sysbus\n", name); + } } return dev; -- 1.7.4.1