Am 28.11.2013 17:02, schrieb arm...@redhat.com: > From: Markus Armbruster <arm...@redhat.com> > > Watch this: > > $ upstream-qemu -nodefaults -S -display none -monitor stdio > QEMU 1.7.50 monitor - type 'help' for more information > (qemu) device_add rng-egd > /work/armbru/qemu/qdev-monitor.c:491:qdev_device_add: Object 0x2089b00 is > not an instance of type device > Aborted (core dumped) > > Crashes because "rng-egd" exists, but isn't a subtype of TYPE_DEVICE. > Broken in commit 18b6dad.
Thanks for catching this! > > Cc: qemu-sta...@nongnu.org > Signed-off-by: Markus Armbruster <arm...@redhat.com> > --- > qdev-monitor.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/qdev-monitor.c b/qdev-monitor.c > index dc37a43..90a0cea 100644 > --- a/qdev-monitor.c > +++ b/qdev-monitor.c > @@ -477,7 +477,7 @@ DeviceState *qdev_device_add(QemuOpts *opts) > } > } > > - if (!oc) { > + if (!object_class_dynamic_cast(oc, TYPE_DEVICE)) { Are you sure we don't need !oc || !object_class_dynamic_cast(oc, ...)? Regards, Andreas > qerror_report(QERR_INVALID_PARAMETER_VALUE, "driver", "device type"); > return NULL; > } > -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg