diff --git a/fs/ext4/ext4_common.c b/fs/ext4/ext4_common.c index dac9545365..e3cc30a1e0 100644 --- a/fs/ext4/ext4_common.c +++ b/fs/ext4/ext4_common.c @@ -2343,7 +2343,7 @@ int ext4fs_mount(unsigned part_length) /* Make sure this is an ext2 filesystem. */ if (le16_to_cpu(data->sblock.magic) != EXT2_MAGIC) - goto fail; + goto fail_noerr; if (le32_to_cpu(data->sblock.revision_level) == 0) { @@ -2379,6 +2379,7 @@ int ext4fs_mount(unsigned part_length) return 1; fail: printf("Failed to mount ext2 filesystem...\n"); +fail_noerr: free(data); ext4fs_root = NULL;