From 02cae1a3579496ea3fce774d72a4e0f72b721ef1 Mon Sep 17 00:00:00 2001 From: Avnish Chouhan Date: Mon, 1 Dec 2025 15:11:23 +0530 Subject: [PATCH] disk/ieee1275/ofdisk: Fix memory leaks In case of an overflow "p" and "p->grub_devpath" will not be freed. Fix both issues. Signed-off-by: Avnish Chouhan Reviewed-by: Alec Brown Reviewed-by: Daniel Kiper Reviewed-by: Sudhakar Kuppusamy --- grub-core/disk/ieee1275/ofdisk.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/grub-core/disk/ieee1275/ofdisk.c b/grub-core/disk/ieee1275/ofdisk.c index dbc0f1aba..f4624a4ad 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; } @@ -109,6 +110,8 @@ 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")); + grub_free (p->grub_devpath); + grub_free (p); return NULL; }