|
| From: | Eduardo Habkost |
| Subject: | [Qemu-devel] [PATCH 1/2] fix fd leak on one qcow2_create2() error path |
| Date: | Thu, 7 Oct 2010 17:25:04 -0300 |
When getting an invalid cluster size, the open fd must be closed before
qcow2_create() returns an error.
Signed-off-by: Eduardo Habkost <address@hidden>
---
block/qcow2.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/block/qcow2.c b/block/qcow2.c
index ee3481b..c5fb28e 100644
--- a/block/qcow2.c
+++ b/block/qcow2.c
@@ -918,7 +918,8 @@ static int qcow_create2(const char *filename, int64_t
total_size,
"%d and %dk\n",
1 << MIN_CLUSTER_BITS,
1 << (MAX_CLUSTER_BITS - 10));
- return -EINVAL;
+ ret = -EINVAL;
+ goto exit_close;
}
s->cluster_size = 1 << s->cluster_bits;
@@ -1052,6 +1053,8 @@ static int qcow_create2(const char *filename, int64_t
total_size,
exit:
qemu_free(s->refcount_table);
qemu_free(s->refcount_block);
+
+exit_close:
close(fd);
/* Preallocate metadata */
--
1.6.5.5
| [Prev in Thread] | Current Thread | [Next in Thread] |