瀏覽代碼

efi_memory: avoid NULL dereference in efi_free_pool

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>
Signed-off-by: Alexander Graf <agraf@suse.de>
xypron.glpk@gmx.de 7 年之前
父節點
當前提交
71275a3e98
共有 1 個文件被更改,包括 3 次插入0 次删除
  1. 3 0
      lib/efi_loader/efi_memory.c

+ 3 - 0
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);