Blame SOURCES/0160-grub-core-disk-efi-efidisk.c-grub_efidisk_get_device.patch

f96e0b
From 3416608ab2fe1766fe912bb51d7f56e76fd286d9 Mon Sep 17 00:00:00 2001
f96e0b
From: Andrey Borzenkov <arvidjaar@gmail.com>
f96e0b
Date: Tue, 26 Feb 2013 22:45:00 +0100
f96e0b
Subject: [PATCH 160/482] 	*
f96e0b
 grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix 	memory
f96e0b
 leak if device name is not found.
f96e0b
f96e0b
---
f96e0b
 ChangeLog                    | 5 +++++
f96e0b
 grub-core/disk/efi/efidisk.c | 5 ++++-
f96e0b
 2 files changed, 9 insertions(+), 1 deletion(-)
f96e0b
f96e0b
diff --git a/ChangeLog b/ChangeLog
f96e0b
index 1b66689..d770758 100644
f96e0b
--- a/ChangeLog
f96e0b
+++ b/ChangeLog
f96e0b
@@ -1,3 +1,8 @@
f96e0b
+2013-02-26  Andrey Borzenkov <arvidjaar@gmail.com>
f96e0b
+
f96e0b
+	* grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
f96e0b
+	memory leak if device name is not found.
f96e0b
+
f96e0b
 2013-02-25  Andrey Borzenkov <arvidjaar@gmail.com>
f96e0b
 
f96e0b
 	* grub-core/normal/menu_entry.c (update_screen): remove
f96e0b
diff --git a/grub-core/disk/efi/efidisk.c b/grub-core/disk/efi/efidisk.c
f96e0b
index 98cd226..19c5923 100644
f96e0b
--- a/grub-core/disk/efi/efidisk.c
f96e0b
+++ b/grub-core/disk/efi/efidisk.c
f96e0b
@@ -797,7 +797,10 @@ grub_efidisk_get_device_name (grub_efi_handle_t *handle)
f96e0b
       dup_ldp->length[1] = 0;
f96e0b
 
f96e0b
       if (!get_diskname_from_path (dup_dp, device_name))
f96e0b
-	return 0;
f96e0b
+	{
f96e0b
+	  grub_free (dup_dp);
f96e0b
+	  return 0;
f96e0b
+	}
f96e0b
       parent = grub_disk_open (device_name);
f96e0b
       grub_free (dup_dp);
f96e0b
 
f96e0b
-- 
f96e0b
1.8.2.1
f96e0b