[PATCH 2/5] fs: ext4: free directory node in ext4fs_exists()
Ilias Apalodimas
ilias.apalodimas at linaro.org
Sun Oct 27 18:39:17 CET 2024
On Sat, 26 Oct 2024 at 09:41, Heinrich Schuchardt
<heinrich.schuchardt at canonical.com> wrote:
>
> The directory retrieved in ext4fs_exists() should be freed to avoid a
> memory leak.
>
> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
> ---
> fs/ext4/ext4fs.c | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/fs/ext4/ext4fs.c b/fs/ext4/ext4fs.c
> index 15587e92e3e..21714149ef5 100644
> --- a/fs/ext4/ext4fs.c
> +++ b/fs/ext4/ext4fs.c
> @@ -209,12 +209,17 @@ int ext4fs_exists(const char *filename)
> {
> struct ext2fs_node *dirnode = NULL;
> int filetype;
> + int ret;
>
> if (!filename)
> return 0;
>
> - return ext4fs_find_file1(filename, &ext4fs_root->diropen, &dirnode,
> - &filetype);
> + ret = ext4fs_find_file1(filename, &ext4fs_root->diropen, &dirnode,
> + &filetype);
> + if (dirnode)
> + ext4fs_free_node(dirnode, &ext4fs_root->diropen);
> +
> + return ret;
> }
>
> int ext4fs_size(const char *filename, loff_t *size)
> --
> 2.45.2
>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas at linaro.org>
More information about the U-Boot
mailing list