From: xypron.glpk@gmx.de Date: Fri, 21 Jul 2017 17:04:33 +0000 (+0200) Subject: efi_memory: do parameter checks first X-Git-Tag: v2017.09-rc1~13^2~20 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=0ecba5db85fb566bcbb3ba96fda85f26f78be22d;p=oweals%2Fu-boot.git efi_memory: do parameter checks first The parameter checks should be done first. Signed-off-by: Heinrich Schuchardt Signed-off-by: Alexander Graf --- diff --git a/lib/efi_loader/efi_memory.c b/lib/efi_loader/efi_memory.c index 5c53aaafdb..c56653f497 100644 --- a/lib/efi_loader/efi_memory.c +++ b/lib/efi_loader/efi_memory.c @@ -407,6 +407,9 @@ efi_status_t efi_get_memory_map(unsigned long *memory_map_size, map_size = map_entries * sizeof(struct efi_mem_desc); + if (provided_map_size < map_size) + return EFI_BUFFER_TOO_SMALL; + *memory_map_size = map_size; if (descriptor_size) @@ -415,9 +418,6 @@ efi_status_t efi_get_memory_map(unsigned long *memory_map_size, if (descriptor_version) *descriptor_version = EFI_MEMORY_DESCRIPTOR_VERSION; - if (provided_map_size < map_size) - return EFI_BUFFER_TOO_SMALL; - /* Copy list into array */ if (memory_map) { /* Return the list in ascending order */