Looks good, I am applying it locally so that it can get into qemu.git very soon.
Paolo On 27/02/2015 02:49, arei.gong...@huawei.com wrote: > From: Gonglei <arei.gong...@huawei.com> > > Reproducer: > > $./qemu-system-x86_64 --enable-kvm -kernel > /home/vmlinuz-2.6.32.12-0.7-default \ > -initrd /home/initrd-2.6.32.12-0.7-default -append \ > "root=/dev/ram rw console=ttyS0,115200" -dtb guest.dtb -vnc :10 --monitor > stdio -smp 2 > QEMU 2.2.50 monitor - type 'help' for more information > (qemu) Segmentation fault (core dumped) > > Reported-by: Edivaldo de Araujo Pereira <edivaldoapere...@yahoo.com.br> > Signed-off-by: Gonglei <arei.gong...@huawei.com> > --- > bootdevice.c | 13 +++++++++---- > 1 file changed, 9 insertions(+), 4 deletions(-) > > diff --git a/bootdevice.c b/bootdevice.c > index df9ab0e..673bfef 100644 > --- a/bootdevice.c > +++ b/bootdevice.c > @@ -223,10 +223,15 @@ char *get_boot_devices_list(size_t *size, bool > ignore_suffixes) > } > > if (!ignore_suffixes) { > - d = qdev_get_own_fw_dev_path_from_handler(i->dev->parent_bus, > i->dev); > - if (d) { > - assert(!i->suffix); > - suffix = d; > + if (i->dev) { > + d = qdev_get_own_fw_dev_path_from_handler(i->dev->parent_bus, > + i->dev); > + if (d) { > + assert(!i->suffix); > + suffix = d; > + } else { > + suffix = g_strdup(i->suffix); > + } > } else { > suffix = g_strdup(i->suffix); > } >