diff options
author | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2006-08-23 21:14:37 +0000 |
---|---|---|
committer | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2006-08-23 21:14:37 +0000 |
commit | 6b21b973ab9aa2bfc3ebfe1df4474466ceb4d88b (patch) | |
tree | 964ab1307626c7e1737f15164527bf9cfaf09361 /block.c | |
parent | 2192c33250878c6e9c78820766afe42b73fd1c2f (diff) |
fixed error handling
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2133 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'block.c')
-rw-r--r-- | block.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -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); |