From: khaalid <khaliidca...@gmail.com>

On two places if `grub_efi_find_last_device_path` fails, then `dp` is
leaked.

Signed-off-by: Khalid Ali <khaliidca...@gmail.com>
---
 grub-core/disk/efi/efidisk.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/grub-core/disk/efi/efidisk.c b/grub-core/disk/efi/efidisk.c
index 3b5ed5691..6c6fa374c 100644
--- a/grub-core/disk/efi/efidisk.c
+++ b/grub-core/disk/efi/efidisk.c
@@ -130,7 +130,10 @@ find_parent_device (struct grub_efidisk_data *devices,
 
   ldp = grub_efi_find_last_device_path (dp);
   if (! ldp)
+  {
+    grub_free(dp);
     return 0;
+  }
 
   ldp->type = GRUB_EFI_END_DEVICE_PATH_TYPE;
   ldp->subtype = GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE;
@@ -163,7 +166,10 @@ is_child (struct grub_efidisk_data *child,
 
   ldp = grub_efi_find_last_device_path (dp);
   if (! ldp)
+  {
+    grub_free(dp);
     return 0;
+  }
 
   ldp->type = GRUB_EFI_END_DEVICE_PATH_TYPE;
   ldp->subtype = GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE;
-- 
2.49.0


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

Reply via email to