From patchwork Tue Jul 7 01:46:36 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heinrich Schuchardt X-Patchwork-Id: 240841 List-Id: U-Boot discussion From: xypron.glpk at gmx.de (Heinrich Schuchardt) Date: Tue, 7 Jul 2020 03:46:36 +0200 Subject: [PATCH 1/1] efi_loader: NULL dereference in efi_convert_pointer Message-ID: <20200707014636.53422-1-xypron.glpk@gmx.de> Avoid a possible NULL pointer dereference in efi_convert_pointer(). Signed-off-by: Heinrich Schuchardt --- lib/efi_loader/efi_runtime.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -- 2.27.0 diff --git a/lib/efi_loader/efi_runtime.c b/lib/efi_loader/efi_runtime.c index c0bd99b867..121e2f65c6 100644 --- a/lib/efi_loader/efi_runtime.c +++ b/lib/efi_loader/efi_runtime.c @@ -499,7 +499,7 @@ static __efi_runtime efi_status_t EFIAPI efi_convert_pointer_runtime( static __efi_runtime efi_status_t EFIAPI efi_convert_pointer( efi_uintn_t debug_disposition, void **address) { - efi_physical_addr_t addr = (uintptr_t)*address; + efi_physical_addr_t addr; efi_uintn_t i; efi_status_t ret = EFI_NOT_FOUND; @@ -515,6 +515,7 @@ static __efi_runtime efi_status_t EFIAPI efi_convert_pointer( goto out; } + addr = (uintptr_t)*address; for (i = 0; i < efi_descriptor_count; i++) { struct efi_mem_desc *map = (void *)efi_virtmap + (efi_descriptor_size * i);