summaryrefslogtreecommitdiff
path: root/lib/efi_loader
diff options
context:
space:
mode:
authorHeinrich Schuchardt <xypron.glpk@gmx.de>2018-05-11 12:09:21 +0200
committerAlexander Graf <agraf@suse.de>2018-06-03 15:27:21 +0200
commit1f470e1790e7303d0fcd6592f79f6e9888be3f12 (patch)
treeded91699db68ae9a4cb212927552247d3cb91bed /lib/efi_loader
parent0d6ea050cce5c7da6a876e197a75fceff2b9c12d (diff)
efi_loader: check interface when uninstalling protocol
The interface has to be checked in UninstallProtocolInterface. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'lib/efi_loader')
-rw-r--r--lib/efi_loader/efi_boottime.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c
index 862ba117282..91c923f5609 100644
--- a/lib/efi_loader/efi_boottime.c
+++ b/lib/efi_loader/efi_boottime.c
@@ -493,6 +493,8 @@ efi_status_t efi_remove_protocol(const efi_handle_t handle,
return ret;
if (guidcmp(handler->guid, protocol))
return EFI_INVALID_PARAMETER;
+ if (handler->protocol_interface != protocol_interface)
+ return EFI_INVALID_PARAMETER;
list_del(&handler->link);
free(handler);
return EFI_SUCCESS;