mirror of https://gitee.com/openkylin/qemu.git
check for bs->drv in bdrv_flush (Christoph Hellwig)
All the bdrv_ helpers should check for bs->drv being zero as that means there is no backend image open. bdrv_flush fails to perform that check and can thus cause NULL pointer dereferences. Found using qemu-io. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6943 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
999dec57f6
commit
081501dace
2
block.c
2
block.c
|
@ -1002,6 +1002,8 @@ const char *bdrv_get_device_name(BlockDriverState *bs)
|
||||||
|
|
||||||
void bdrv_flush(BlockDriverState *bs)
|
void bdrv_flush(BlockDriverState *bs)
|
||||||
{
|
{
|
||||||
|
if (!bs->drv)
|
||||||
|
return;
|
||||||
if (bs->drv->bdrv_flush)
|
if (bs->drv->bdrv_flush)
|
||||||
bs->drv->bdrv_flush(bs);
|
bs->drv->bdrv_flush(bs);
|
||||||
if (bs->backing_hd)
|
if (bs->backing_hd)
|
||||||
|
|
Loading…
Reference in New Issue