OSDN Git Service

Warn if value of qdev_init() isn't checked
authorMarkus Armbruster <armbru@redhat.com>
Tue, 6 Oct 2009 23:16:00 +0000 (01:16 +0200)
committerAnthony Liguori <aliguori@us.ibm.com>
Wed, 7 Oct 2009 13:54:55 +0000 (08:54 -0500)
After qdev_init() fails, the device is gone.  Failure to check runs a
high risk of use-after-free.

Patchworks-ID: 35166
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
hw/qdev.h

index b385b25..8cd843e 100644 (file)
--- a/hw/qdev.h
+++ b/hw/qdev.h
@@ -100,7 +100,7 @@ struct CompatProperty {
 
 DeviceState *qdev_create(BusState *bus, const char *name);
 DeviceState *qdev_device_add(QemuOpts *opts);
-int qdev_init(DeviceState *dev);
+int qdev_init(DeviceState *dev) __attribute__((warn_unused_result));
 void qdev_init_nofail(DeviceState *dev);
 int qdev_unplug(DeviceState *dev);
 void qdev_free(DeviceState *dev);