From patchwork Fri Apr 30 14:00:31 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [09/18] block: Set backing_hd to NULL after deleting it Date: Fri, 30 Apr 2010 04:00:31 -0000 From: Kevin Wolf X-Patchwork-Id: 51339 Message-Id: <1272636040-17374-10-git-send-email-kwolf@redhat.com> To: aliguori@linux.vnet.ibm.com Cc: kwolf@redhat.com, qemu-devel@nongnu.org From: Stefan Hajnoczi It is safer to set backing_hd to NULL after deleting it so that any use after deletion is obvious during development. Happy segfaulting! This patch should be applied after Kevin Wolf's "vmdk: Convert to bdrv_open" so that vmdk does not segfault on close. Signed-off-by: Stefan Hajnoczi Signed-off-by: Kevin Wolf --- block.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/block.c b/block.c index 56835af..b318355 100644 --- a/block.c +++ b/block.c @@ -589,8 +589,10 @@ unlink_and_fail: void bdrv_close(BlockDriverState *bs) { if (bs->drv) { - if (bs->backing_hd) + if (bs->backing_hd) { bdrv_delete(bs->backing_hd); + bs->backing_hd = NULL; + } bs->drv->bdrv_close(bs); qemu_free(bs->opaque); #ifdef _WIN32