efi_loader: check interface when uninstalling protocol
authorHeinrich Schuchardt <xypron.glpk@gmx.de>
Fri, 11 May 2018 10:09:21 +0000 (12:09 +0200)
committerAlexander Graf <agraf@suse.de>
Sun, 3 Jun 2018 13:27:21 +0000 (15:27 +0200)
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>
lib/efi_loader/efi_boottime.c

index 862ba11728283b4f73ac34885cef6bbce3f30004..91c923f560903ac3612a40f9d3678044815509f3 100644 (file)
@@ -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;