From: Mark Langsdorf <mark.langsdorf@calxeda.com>
Date: Tue, 10 Sep 2013 20:14:56 +0000 (-0500)
Subject: part_efi: make sure the gpt_pte is freed
X-Git-Tag: v2025.01-rc5-pxa1908~15901
X-Git-Url: http://git.dujemihanovic.xyz/html/static/git-logo.png?a=commitdiff_plain;h=6d2ee5a33a802e6c59ba3148b3a111e4c41d43cb;p=u-boot.git

part_efi: make sure the gpt_pte is freed

the gpt_pte wasn't being freed if it was checked against an invalid
partition. The resulting memory leakage could make it impossible
to repeatedly attempt to load non-existent files in a script.

Also, downgrade the message for not finding an invalid partition
from a printf() to a debug() so as to minimize message spam in
perfectly normal situations.

Signed-off-by: Mark Langsdorf <mark.langsdorf@calxeda.com>
---

diff --git a/disk/part_efi.c b/disk/part_efi.c
index b7524d68ba..9c33ae7a31 100644
--- a/disk/part_efi.c
+++ b/disk/part_efi.c
@@ -164,8 +164,9 @@ int get_partition_info_efi(block_dev_desc_t * dev_desc, int part,
 
 	if (part > le32_to_cpu(gpt_head->num_partition_entries) ||
 	    !is_pte_valid(&gpt_pte[part - 1])) {
-		printf("%s: *** ERROR: Invalid partition number %d ***\n",
+		debug("%s: *** ERROR: Invalid partition number %d ***\n",
 			__func__, part);
+		free(gpt_pte);
 		return -1;
 	}