We should only dereference parameter memory_map_size after checking that
it is valid.

Fixes: 8e835554b36b ("efi_loader: check parameters of GetMemoryMap")
Signed-off-by: Heinrich Schuchardt <xypron.g...@gmx.de>
---
 lib/efi_loader/efi_memory.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lib/efi_loader/efi_memory.c b/lib/efi_loader/efi_memory.c
index 967c3f733e..6441e9b202 100644
--- a/lib/efi_loader/efi_memory.c
+++ b/lib/efi_loader/efi_memory.c
@@ -457,11 +457,13 @@ efi_status_t efi_get_memory_map(efi_uintn_t 
*memory_map_size,
        efi_uintn_t map_size = 0;
        int map_entries = 0;
        struct list_head *lhandle;
-       efi_uintn_t provided_map_size = *memory_map_size;
+       efi_uintn_t provided_map_size;
 
        if (!memory_map_size)
                return EFI_INVALID_PARAMETER;
 
+       provided_map_size = *memory_map_size;
+
        list_for_each(lhandle, &efi_mem)
                map_entries++;
 
-- 
2.18.0

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to