From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lukasz Majewski Date: Mon, 29 Aug 2016 16:09:11 +0200 Subject: [U-Boot] [PATCH v3 11/13] ext4: Fix memory leak in case of failure In-Reply-To: References: <20160828204238.10809-1-stefan.bruens@rwth-aachen.de> Message-ID: <20160829160911.7dcf7a30@amdc2363> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Stefan, > temp_ptr should always be freed, even if the function is left via > goto fail. > > Signed-off-by: Stefan Br?ns > --- > fs/ext4/ext4_write.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > v3: Patch added to series > > diff --git a/fs/ext4/ext4_write.c b/fs/ext4/ext4_write.c > index 50c8415..5e208ef 100644 > --- a/fs/ext4/ext4_write.c > +++ b/fs/ext4/ext4_write.c > @@ -974,7 +974,6 @@ int ext4fs_write(const char *fname, unsigned char > *buffer, sizeof(struct ext2_inode)); > if (ext4fs_put_metadata(temp_ptr, > parent_itable_blkno)) goto fail; > - free(temp_ptr); > } else { > /* > * If parent and child fall in same inode table block > @@ -985,7 +984,6 @@ int ext4fs_write(const char *fname, unsigned char > *buffer, gd_index--; > if (ext4fs_put_metadata(temp_ptr, itable_blkno)) > goto fail; > - free(temp_ptr); > } > ext4fs_update(); > ext4fs_deinit(); > @@ -996,6 +994,7 @@ int ext4fs_write(const char *fname, unsigned char > *buffer, fs->curr_inode_no = 0; > free(inode_buffer); > free(g_parent_inode); > + free(temp_ptr); > g_parent_inode = NULL; > > return 0; > @@ -1003,6 +1002,7 @@ fail: > ext4fs_deinit(); > free(inode_buffer); > free(g_parent_inode); > + free(temp_ptr); > g_parent_inode = NULL; > > return -1; Reviewed-by: Lukasz Majewski -- Best regards, Lukasz Majewski Samsung R&D Institute Poland (SRPOL) | Linux Platform Group