| Message ID | 1441425831-3441-4-git-send-email-swarren@wwwdotorg.org |
|---|---|
| State | Accepted |
| Delegated to: | Tom Rini |
| Headers | show |
Hi Stephen, > From: Stephen Warren <swarren@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@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) Acked-by: Lukasz Majewski <l.majewski@samsung.com> Tested-by: Lukasz Majewski <l.majewski@samsung.com> Test HW: Odroid XU3 - Exynos5433 [DFU tests]
On Fri, Sep 04, 2015 at 10:03:45PM -0600, Stephen Warren wrote: > From: Stephen Warren <swarren@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@nvidia.com> > Acked-by: Lukasz Majewski <l.majewski@samsung.com> > Tested-by: Lukasz Majewski <l.majewski@samsung.com> Applied to u-boot/master, thanks!
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)