On 2025-05-29 21:47, Khalid Ali wrote:
Fix possible and absolute memory leaks of "handles"
returned by grub_efi_locate_handle() using grub_malloc().
Signed-off-by: Khalid Ali <khaliidca...@gmail.com>
---
grub-core/commands/efi/lsefi.c | 1 +
grub-core/commands/efi/tpm.c | 2 ++
grub-core/term/efi/serial.c | 4 ++--
grub-core/video/efi_gop.c | 2 +-
4 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/grub-core/commands/efi/lsefi.c
b/grub-core/commands/efi/lsefi.c
index 7b8316d41..f4c10392d 100644
--- a/grub-core/commands/efi/lsefi.c
+++ b/grub-core/commands/efi/lsefi.c
@@ -129,6 +129,7 @@ grub_cmd_lsefi (grub_command_t cmd __attribute__
((unused)),
}
+ grub_free (handles);
return 0;
}
diff --git a/grub-core/commands/efi/tpm.c
b/grub-core/commands/efi/tpm.c
index cbac69866..cb39b7bba 100644
--- a/grub-core/commands/efi/tpm.c
+++ b/grub-core/commands/efi/tpm.c
@@ -112,6 +112,7 @@ grub_tpm_handle_find (grub_efi_handle_t
*tpm_handle,
grub_tpm_version = 1;
*protocol_version = 1;
grub_dprintf ("tpm", "TPM handle Found, version: 1\n");
+ grub_free (handles);
return 1;
}
@@ -124,6 +125,7 @@ grub_tpm_handle_find (grub_efi_handle_t
*tpm_handle,
grub_tpm_version = 2;
*protocol_version = 2;
grub_dprintf ("tpm", "TPM handle Found, version: 2\n");
+ grub_free (handles);
return 1;
}
diff --git a/grub-core/term/efi/serial.c b/grub-core/term/efi/serial.c
index 5dfd2d86c..e409b8d5e 100644
--- a/grub-core/term/efi/serial.c
+++ b/grub-core/term/efi/serial.c
@@ -169,13 +169,13 @@ grub_efiserial_init (void)
port = grub_zalloc (sizeof (*port));
if (!port)
Hi Khalid Ali,
For pointers, you have to use like port == NULL instead !port
- return;
+ break;
port->name = grub_malloc (sizeof ("efiXXXXXXXXXXXXXXXXXXXX"));
if (!port->name)
same above
port->name == NULL
{
grub_free (port);
- return;
+ break;
}
grub_snprintf (port->name, sizeof ("efiXXXXXXXXXXXXXXXXXXXX"),
"efi%d", num_serial++);
diff --git a/grub-core/video/efi_gop.c b/grub-core/video/efi_gop.c
index 9452f5e58..1ad2e709d 100644
--- a/grub-core/video/efi_gop.c
+++ b/grub-core/video/efi_gop.c
@@ -94,7 +94,7 @@ check_protocol (void)
gop_handle = 0;
grub_dprintf ("video", "GOP: no usable mode\n");
-
+ grub_free (handles);
return 0;
}
Thanks,
Sudhakar Kuppusamy
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel