grub2/0380-loader-efi-chainloader-Fix-null-pointer-dereference.patch
Nicolas Frayer 9400ee8e83 Some fixes addressing memory freeing and dereferencing
Resolves: #2368939
Resolves: #2368945
Signed-off-by: Nicolas Frayer <nfrayer@redhat.com>
2025-05-28 18:23:00 +02:00

31 lines
1.2 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Thomas Frauendorfer | Miray Software <tf@miray.de>
Date: Tue, 20 May 2025 09:20:46 +0200
Subject: [PATCH] loader/efi/chainloader: Fix null pointer dereference
This fixes a null pointer access during netboot
introduced in
* Allow chainloading EFI apps from loop mounts.
The commit accesses dev->disk without testing it.
But when booting through network dev->disk will be NULL
Signed-off-by: Thomas Frauendorfer | Miray Software <tf@miray.de>
Reviewed-by: Nicolas Frayer <nfrayer@redhat.com>
---
grub-core/loader/efi/chainloader.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/grub-core/loader/efi/chainloader.c b/grub-core/loader/efi/chainloader.c
index 0a78d0d..a004020 100644
--- a/grub-core/loader/efi/chainloader.c
+++ b/grub-core/loader/efi/chainloader.c
@@ -1006,7 +1006,7 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
grub_free (devname);
/* if device is loopback, use underlying dev */
- if (dev && dev->disk->dev->id == GRUB_DISK_DEVICE_LOOPBACK_ID)
+ if (dev && dev->disk && dev->disk->dev->id == GRUB_DISK_DEVICE_LOOPBACK_ID)
{
struct grub_loopback *d;
orig_dev = dev;