]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - disk/part_efi.c
part_efi: In is_gpt_valid() check argument validity before allocation
[people/ms/u-boot.git] / disk / part_efi.c
index 0abf48733d5d8fd731407ffb3a2db6c2d01adee1..782f8be50201177fd0c3cdbc8aabdb2b9cbb1982 100644 (file)
@@ -923,13 +923,14 @@ static int is_pmbr_valid(legacy_mbr * mbr)
 static int is_gpt_valid(struct blk_desc *dev_desc, u64 lba,
                        gpt_header *pgpt_head, gpt_entry **pgpt_pte)
 {
-       ALLOC_CACHE_ALIGN_BUFFER(legacy_mbr, mbr, dev_desc->blksz);
-
+       /* Confirm valid arguments prior to allocation. */
        if (!dev_desc || !pgpt_head) {
                printf("%s: Invalid Argument(s)\n", __func__);
                return 0;
        }
 
+       ALLOC_CACHE_ALIGN_BUFFER(legacy_mbr, mbr, dev_desc->blksz);
+
        /* Read MBR Header from device */
        if (blk_dread(dev_desc, 0, 1, (ulong *)mbr) != 1) {
                printf("*** ERROR: Can't read MBR header ***\n");