[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