Am 13.03.2012 19:32, schrieb Mark Langsdorf: > From: Joshua Housh <joshua.ho...@calxeda.com> > > Make sure a BusInfo exists before trying to dereference it.
What's the use case that breaks? Andreas > > Signed-off-by: Joshua Housh <joshua.ho...@calxeda.com> > Signed-off-by: Mark Langsdorf <mark.langsd...@calxeda.com> > --- > hw/qdev.c | 9 ++++++--- > 1 files changed, 6 insertions(+), 3 deletions(-) > > diff --git a/hw/qdev.c b/hw/qdev.c > index ee21d90..6c3d02f 100644 > --- a/hw/qdev.c > +++ b/hw/qdev.c > @@ -86,9 +86,12 @@ void qdev_set_parent_bus(DeviceState *dev, BusState *bus) > dev->parent_bus = bus; > QTAILQ_INSERT_HEAD(&bus->children, dev, sibling); > > - for (prop = qdev_get_bus_info(dev)->props; prop && prop->name; prop++) { > - qdev_property_add_legacy(dev, prop, NULL); > - qdev_property_add_static(dev, prop, NULL); > + BusInfo *info = qdev_get_bus_info(dev); > + if (info) { > + for (prop = info->props; prop && prop->name; prop++) { > + qdev_property_add_legacy(dev, prop, NULL); > + qdev_property_add_static(dev, prop, NULL); > + } > } > qdev_prop_set_defaults(dev, dev->parent_bus->info->props); > } -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg