|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] [PATCH] qemu-xen: fix segfault with empty cdroms
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;
Ian.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|