diff mbox

[U-Boot,1/1] efi_memory: avoid NULL dereference in efi_free_pool

Message ID 20170714171239.1375-1-xypron.glpk@gmx.de
State Accepted
Commit 71275a3e985db60b53b381f5253fdb15c663e18e
Delegated to: Alexander Graf
Headers show

Commit Message

Heinrich Schuchardt July 14, 2017, 5:12 p.m. UTC
If efi_free_pool is called with argument NULL an illegal memory
access occurs.

So let's check the parameter on entry.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
---
 lib/efi_loader/efi_memory.c | 3 +++
 1 file changed, 3 insertions(+)
diff mbox

Patch

diff --git a/lib/efi_loader/efi_memory.c b/lib/efi_loader/efi_memory.c
index db2ae19f59..5c53aaafdb 100644
--- a/lib/efi_loader/efi_memory.c
+++ b/lib/efi_loader/efi_memory.c
@@ -379,6 +379,9 @@  efi_status_t efi_free_pool(void *buffer)
 	efi_status_t r;
 	struct efi_pool_allocation *alloc;
 
+	if (buffer == NULL)
+		return EFI_INVALID_PARAMETER;
+
 	alloc = container_of(buffer, struct efi_pool_allocation, data);
 	/* Sanity check, was the supplied address returned by allocate_pool */
 	assert(((uintptr_t)alloc & EFI_PAGE_MASK) == 0);