part_efi: make sure the gpt_pte is freed
authorMark Langsdorf <mark.langsdorf@calxeda.com>
Tue, 10 Sep 2013 20:14:56 +0000 (15:14 -0500)
committerTom Rini <trini@ti.com>
Fri, 20 Sep 2013 14:30:53 +0000 (10:30 -0400)
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>
disk/part_efi.c

index b7524d68ba05b570e2286aeb208e2e15ab030f38..9c33ae7a3174b37854ac5368628cf09e9e379bf0 100644 (file)
@@ -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;
        }