From e7c3cd6b67d87383fa48b41c1b4037b75ceab597 Mon Sep 17 00:00:00 2001 From: Heinrich Schuchardt Date: Sun, 5 May 2019 11:24:53 +0200 Subject: [PATCH] efi_loader: HandleProtocol parameter checks HandleProtocol() and OpenProtocol() have to return EFI_UNSUPPORTED if the protocol is not installed on the handle. Signed-off-by: Heinrich Schuchardt --- lib/efi_loader/efi_boottime.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c index ab299aa..6d86daf 100644 --- a/lib/efi_loader/efi_boottime.c +++ b/lib/efi_loader/efi_boottime.c @@ -2636,8 +2636,15 @@ static efi_status_t EFIAPI efi_open_protocol } r = efi_search_protocol(handle, protocol, &handler); - if (r != EFI_SUCCESS) + switch (r) { + case EFI_SUCCESS: + break; + case EFI_NOT_FOUND: + r = EFI_UNSUPPORTED; goto out; + default: + goto out; + } r = efi_protocol_open(handler, protocol_interface, agent_handle, controller_handle, attributes); -- 2.7.4