[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH] check for bs->drv in bdrv_flush
From: |
Christoph Hellwig |
Subject: |
[Qemu-devel] [PATCH] check for bs->drv in bdrv_flush |
Date: |
Sat, 28 Mar 2009 19:39:16 +0100 |
User-agent: |
Mutt/1.3.28i |
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 <address@hidden>
Index: qemu/block.c
===================================================================
--- qemu.orig/block.c 2009-03-19 21:48:12.180978074 +0100
+++ qemu/block.c 2009-03-19 21:48:53.228977807 +0100
@@ -979,6 +979,8 @@ const char *bdrv_get_device_name(BlockDr
void bdrv_flush(BlockDriverState *bs)
{
+ if (!bs->drv)
+ return;
if (bs->drv->bdrv_flush)
bs->drv->bdrv_flush(bs);
if (bs->backing_hd)
- [Qemu-devel] [PATCH] check for bs->drv in bdrv_flush,
Christoph Hellwig <=