grub-devel.gnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] loader/i386/pc/linux: Fix resource leak
@ 2025-06-23 17:46 Lidong Chen via Grub-devel
  2025-06-23 18:57 ` sudhakar
  0 siblings, 1 reply; 3+ messages in thread
From: Lidong Chen via Grub-devel @ 2025-06-23 17:46 UTC (permalink / raw)
  To: grub-devel, daniel.kiper; +Cc: Lidong Chen

In grub_cmd_initrd(), memory is allocated for variable initrd_ctx
before calling grub_relocator_alloc_chunk_align_safe(). When the
function call fails, initrd_ctx should be freed before exiting
grub_cmd_initrd().

Fixes: CID 473852

Signed-off-by: Lidong Chen <lidong.chen@oracle.com>
---
 grub-core/loader/i386/pc/linux.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/grub-core/loader/i386/pc/linux.c b/grub-core/loader/i386/pc/linux.c
index 4adeee9ae..0c2a4ae51 100644
--- a/grub-core/loader/i386/pc/linux.c
+++ b/grub-core/loader/i386/pc/linux.c
@@ -457,7 +457,7 @@ grub_cmd_initrd (grub_command_t cmd __attribute__ ((unused)),
     err = grub_relocator_alloc_chunk_align_safe (relocator, &ch, addr_min, addr_max, size,
 						 0x1000, GRUB_RELOCATOR_PREFERENCE_HIGH, 0);
     if (err)
-      return err;
+      goto fail;
     initrd_chunk = get_virtual_current_address (ch);
     initrd_addr = get_physical_target_address (ch);
   }
-- 
2.43.5


_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-06-26 18:01 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-23 17:46 [PATCH] loader/i386/pc/linux: Fix resource leak Lidong Chen via Grub-devel
2025-06-23 18:57 ` sudhakar
2025-06-26 18:00   ` Daniel Kiper via Grub-devel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).