[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] qemu-xen: fix segfault with empty cdroms
On Fri, 11 Feb 2011, Ian Jackson wrote: > Stefano Stabellini writes ("[Xen-devel] [PATCH] qemu-xen: fix segfault with > empty cdroms"): > > When the cdrom is empty the params node in xenstore might be missing > > completely, cope with it instead of segfaulting. > ... > > blkdev->params = xenstore_read_be_str(&blkdev->xendev, "params"); > > - h = strchr(blkdev->params, ':'); > > + if (blkdev->params != NULL) > > + h = strchr(blkdev->params, ':'); > > So blkdev->params may be 0. In that case, we end up with: > > blkdev->fileproto = "<unset>"; > blkdev->filename = blkdev->params; > > so now ->filename may be 0. Eventually, > > if (bdrv_open2(blkdev->bs, blkdev->filename, qflags, > bdrv_find_format(blkdev->fileproto)) != 0) { > > Isn't that going to crash ? > > Perhaps a clause needs to be added to: > > /* do we have all we need? */ > if (blkdev->params == NULL || > blkdev->mode == NULL || > blkdev->type == NULL || > blkdev->dev == NULL) > return -1; No need, in fact if blkdev->params is NULL we return -1 right here. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |