libext2fs: fix potential memory leak in ext2fs_initialize()
If we fail doing ext2fs_allocate_block_bitmap() or
ext2fs_allocate_inode_bitmap() we directly goto cleanup and don't free
the memory allocated to buf.
Signed-off-by: "Manish Katiyar" <mkatiyar@gmail.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
diff --git a/lib/ext2fs/initialize.c b/lib/ext2fs/initialize.c
index 011656f..e9bfe49 100644
--- a/lib/ext2fs/initialize.c
+++ b/lib/ext2fs/initialize.c
@@ -105,7 +105,7 @@
int rsv_gdt;
int csum_flag;
int io_flags;
- char *buf;
+ char *buf = 0;
char c;
if (!param || !param->s_blocks_count)
@@ -429,6 +429,8 @@
*ret_fs = fs;
return 0;
cleanup:
+ if (buf)
+ free(buf);
ext2fs_free(fs);
return retval;
}