Re: [PATCH] disk/ieee1275 : Add a fix for memory leaks in ofdisk

Alec Brown via Grub-devel <[email protected]> Mon, 1 Dec 2025 22:34:29 +0000
Newsgroups org.gnu.grub-devel
Message-ID <CH3PR10MB6834EBD452D0DB3397BD6486BCDBA@CH3PR10MB6834.namprd10.prod.outlook.com>
On Mon, December 1, 2025 at 4:41 AM, Avnish Chouhan <[email protected]> wrote:
> Adding a fix for memory leaks. In case of overflow check fails, not freeing 'p' and 'p-
> >grub_devpath' will result in memory leaks.
> 
> Signed-off-by: Avnish Chouhan <[email protected]>
> ---
>  grub-core/disk/ieee1275/ofdisk.c | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/grub-core/disk/ieee1275/ofdisk.c b/grub-core/disk/ieee1275/ofdisk.c
> index dbc0f1a..3a90a71 100644
> --- a/grub-core/disk/ieee1275/ofdisk.c
> +++ b/grub-core/disk/ieee1275/ofdisk.c
> @@ -93,6 +93,7 @@ ofdisk_hash_add_real (char *devpath)
>        grub_add (sz, sizeof ("ieee1275/"), &sz))
>      {
>        grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow detected while obtaining size of device
> path"));
> +      grub_free (p);
>        return NULL;
>      }
> 
> @@ -108,8 +109,10 @@ ofdisk_hash_add_real (char *devpath)
>      {
>        if (grub_add (grub_strlen (p->devpath), 3, &sz))
>  	{
> -	  grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow detected while obtaining size of an open
> path"));
> -	  return NULL;
> +          grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow detected while obtaining size of an
> open path"));
> +          grub_free (p->grub_devpath);
> +          grub_free (p);
> +          return NULL;
>  	}
> 
>        p->open_path = grub_malloc (sz);
> --
> 2.52.0

LGTM! Thanks!

Reviewed-by: Alec Brown <[email protected]>

Alec Brown

_______________________________________________
Grub-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/grub-devel