]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
loader/i386/linux: Fix resource leak
authorLidong Chen <lidong.chen@oracle.com>
Thu, 27 Mar 2025 17:56:33 +0000 (17:56 +0000)
committerDaniel Kiper <daniel.kiper@oracle.com>
Fri, 4 Apr 2025 17:33:50 +0000 (19:33 +0200)
In grub_cmd_initrd(), initrd_ctx is allocated before calling
grub_relocator_alloc_chunk_align(). When that function fails,
initrd_ctx should be freed before exiting grub_cmd_initrd().

Fixes: CID 473852
Signed-off-by: Lidong Chen <lidong.chen@oracle.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
grub-core/loader/i386/linux.c

index b7c1e057e14f18c3c10dc40bafa096793f07eaae..4b26cd816a2608cfbcd13834886a1fbb5dc4d207 100644 (file)
@@ -1128,7 +1128,7 @@ grub_cmd_initrd (grub_command_t cmd __attribute__ ((unused)),
                                            GRUB_RELOCATOR_PREFERENCE_HIGH,
                                            1);
     if (err)
-      return err;
+      goto fail;
     initrd_mem = get_virtual_current_address (ch);
     initrd_mem_target = get_physical_target_address (ch);
   }