[U-Boot] [PATCH 04/10] ext4: fix leak in check_filename()
Stephen Warren
swarren at wwwdotorg.org
Sat Sep 5 06:03:45 CEST 2015
From: Stephen Warren <swarren at nvidia.com>
root_first_block_buffer should be free()d in all cases, not just when an
error occurs. Fix the success exit path of the function to do this.
Signed-off-by: Stephen Warren <swarren at nvidia.com>
---
fs/ext4/ext4_common.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/fs/ext4/ext4_common.c b/fs/ext4/ext4_common.c
index b09f23aa5b83..7d7609a91fa8 100644
--- a/fs/ext4/ext4_common.c
+++ b/fs/ext4/ext4_common.c
@@ -769,6 +769,7 @@ static int check_filename(char *filename, unsigned int blknr)
struct ext2_dirent *previous_dir = NULL;
char *ptr = NULL;
struct ext_filesystem *fs = get_fs();
+ int ret = -1;
/* get the first block of root */
first_block_no_of_root = blknr;
@@ -822,12 +823,12 @@ static int check_filename(char *filename, unsigned int blknr)
if (ext4fs_put_metadata(root_first_block_addr,
first_block_no_of_root))
goto fail;
- return inodeno;
+ ret = inodeno;
}
fail:
free(root_first_block_buffer);
- return -1;
+ return ret;
}
int ext4fs_filename_check(char *filename)
--
1.9.1
More information about the U-Boot
mailing list