On Sat, Aug 15, 2015 at 2:22 PM, Peter Crosthwaite <[email protected]> wrote: > On Mon, Jul 27, 2015 at 11:37 AM, Alistair Francis > <[email protected]> wrote: >> If the ObjectClass has no type return NULL instead of trying to compare >> the type name. >> > > What was the issue?
There is a seg fault in object_class_dynamic_cast() because there is no type in the ObjectClass struct. It happens when it is trying to cast the "pci-device", which is called from the ahci_irq_lower() function. The function is testing if the device is a pci device, so it should return NULL if it isn't valid. Thanks, Alistair > > Regards, > Peter > >> Signed-off-by: Alistair Francis <[email protected]> >> Reviewed-by: Sai Pavan Boddu <[email protected]> >> --- >> qom/object.c | 2 +- >> 1 files changed, 1 insertions(+), 1 deletions(-) >> >> diff --git a/qom/object.c b/qom/object.c >> index eea8edf..2d6d715 100644 >> --- a/qom/object.c >> +++ b/qom/object.c >> @@ -603,7 +603,7 @@ ObjectClass *object_class_dynamic_cast(ObjectClass >> *class, >> TypeImpl *target_type; >> TypeImpl *type; >> >> - if (!class) { >> + if (!class || !class->type) { >> return NULL; >> } >> >> -- >> 1.7.1 >> >> >
