From: Tom Rini Date: Tue, 3 Oct 2017 13:38:44 +0000 (-0400) Subject: part_efi: In is_gpt_valid() check argument validity before allocation X-Git-Url: http://git.dujemihanovic.xyz/img/sics.gif?a=commitdiff_plain;h=b351ccf11ae5616bba183aedb2c433b97123be4f;p=u-boot.git part_efi: In is_gpt_valid() check argument validity before allocation While this goes somewhat against normal coding style we should ensure that dev_desc is not NULL before we dereference it in allocation of legacy_mbr. Reported-by: Coverity (CID: 167292) Signed-off-by: Tom Rini --- diff --git a/disk/part_efi.c b/disk/part_efi.c index 0abf48733d..782f8be502 100644 --- a/disk/part_efi.c +++ b/disk/part_efi.c @@ -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");