Free "dp" in case of failure.

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..1db29880a 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