From: bellard Date: Wed, 23 Aug 2006 21:14:37 +0000 (+0000) Subject: fixed error handling X-Git-Tag: release_0_9_0-iwjtag~268 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=d4f0239451d583ad518cb11f38c3f9fb70312e04;p=qemu-xen-3.4-testing.git fixed error handling --- diff --git a/block.c b/block.c index 885b7002..3b35500b 100644 --- a/block.c +++ b/block.c @@ -365,6 +365,8 @@ int bdrv_open2(BlockDriverState *bs, const char *filename, int flags, } if (ret < 0) { qemu_free(bs->opaque); + bs->opaque = NULL; + bs->drv = NULL; return ret; } if (drv->bdrv_getlength) { @@ -381,7 +383,7 @@ int bdrv_open2(BlockDriverState *bs, const char *filename, int flags, if (!bs->backing_hd) { fail: bdrv_close(bs); - return -1; + return -ENOMEM; } path_combine(backing_filename, sizeof(backing_filename), filename, bs->backing_file);