grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 3/9] fs/minix: Fix memory leak in grub_minix_lookup_symlink


From: Daniel Kiper
Subject: Re: [PATCH 3/9] fs/minix: Fix memory leak in grub_minix_lookup_symlink
Date: Wed, 23 Nov 2022 16:10:02 +0100
User-agent: NeoMutt/20170113 (1.7.2)

On Sat, Nov 19, 2022 at 06:39:40PM +0800, t.feng via Grub-devel wrote:
> Fix memory leaks in grub_minix_lookup_symlink.
>
> Fixes: a07e6ad01(Remove variable length arrays)
>
> Signed-off-by: "t.feng" <fengtao40@huawei.com>
> ---
>  grub-core/fs/minix.c | 11 +++++++++--
>  1 file changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/grub-core/fs/minix.c b/grub-core/fs/minix.c
> index 953df1191..2176b6e93 100644
> --- a/grub-core/fs/minix.c
> +++ b/grub-core/fs/minix.c
> @@ -374,7 +374,10 @@ grub_minix_lookup_symlink (struct grub_minix_data *data, 
> grub_minix_ino_t ino)
>    if (!symlink)
>      return grub_errno;
>    if (grub_minix_read_file (data, 0, 0, 0, sz, symlink) < 0)
> -    return grub_errno;
> +    {
> +      grub_free (symlink);
> +      return grub_errno;
> +    }
>
>    symlink[sz] = '\0';
>
> @@ -384,10 +387,14 @@ grub_minix_lookup_symlink (struct grub_minix_data 
> *data, grub_minix_ino_t ino)
>
>    /* Now load in the old inode.  */
>    if (grub_minix_read_inode (data, ino))
> -    return grub_errno;
> +    {
> +      grub_free (symlink);
> +      return grub_errno;
> +    }
>
>    grub_minix_find_file (data, symlink);
>

This could be made simpler. Just add a label "fail" here and grub_free(symlink)
underneath. Then add "goto fail" above.

> +  grub_free (symlink);
>    return grub_errno;
>  }

Daniel



reply via email to

[Prev in Thread] Current Thread [Next in Thread]