|
|
|
|
|
|
|
|
|
|
xen-devel
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
|
|
|
|
|