mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-23 13:56:20 +00:00
ext4: Fix memory leak in case of failure
temp_ptr should always be freed, even if the function is left via goto fail. Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
This commit is contained in:
parent
0ceef3d371
commit
87a40b6e03
1 changed files with 2 additions and 2 deletions
|
@ -974,7 +974,6 @@ int ext4fs_write(const char *fname, unsigned char *buffer,
|
||||||
sizeof(struct ext2_inode));
|
sizeof(struct ext2_inode));
|
||||||
if (ext4fs_put_metadata(temp_ptr, parent_itable_blkno))
|
if (ext4fs_put_metadata(temp_ptr, parent_itable_blkno))
|
||||||
goto fail;
|
goto fail;
|
||||||
free(temp_ptr);
|
|
||||||
} else {
|
} else {
|
||||||
/*
|
/*
|
||||||
* If parent and child fall in same inode table block
|
* 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--;
|
gd_index--;
|
||||||
if (ext4fs_put_metadata(temp_ptr, itable_blkno))
|
if (ext4fs_put_metadata(temp_ptr, itable_blkno))
|
||||||
goto fail;
|
goto fail;
|
||||||
free(temp_ptr);
|
|
||||||
}
|
}
|
||||||
ext4fs_update();
|
ext4fs_update();
|
||||||
ext4fs_deinit();
|
ext4fs_deinit();
|
||||||
|
@ -996,6 +994,7 @@ int ext4fs_write(const char *fname, unsigned char *buffer,
|
||||||
fs->curr_inode_no = 0;
|
fs->curr_inode_no = 0;
|
||||||
free(inode_buffer);
|
free(inode_buffer);
|
||||||
free(g_parent_inode);
|
free(g_parent_inode);
|
||||||
|
free(temp_ptr);
|
||||||
g_parent_inode = NULL;
|
g_parent_inode = NULL;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -1003,6 +1002,7 @@ fail:
|
||||||
ext4fs_deinit();
|
ext4fs_deinit();
|
||||||
free(inode_buffer);
|
free(inode_buffer);
|
||||||
free(g_parent_inode);
|
free(g_parent_inode);
|
||||||
|
free(temp_ptr);
|
||||||
g_parent_inode = NULL;
|
g_parent_inode = NULL;
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
|
|
Loading…
Add table
Reference in a new issue