efi_loader: parameter check CreateEventEx()
authorHeinrich Schuchardt <xypron.glpk@gmx.de>
Thu, 25 Apr 2019 05:30:41 +0000 (07:30 +0200)
committerHeinrich Schuchardt <xypron.glpk@gmx.de>
Thu, 2 May 2019 16:17:49 +0000 (18:17 +0200)
CreateEvent() and CreateEventEx() should check that a notify function is
provided for either of EVT_NOTIFY_SIGNAL or EVT_NOTIFY_WAIT.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
lib/efi_loader/efi_boottime.c

index 601b0a2cb88db82d1f9c3ef15d7d41c04f1fde86..a72cbe1559d854680611b9f16da2c124ba601396 100644 (file)
@@ -618,7 +618,7 @@ efi_status_t efi_create_event(uint32_t type, efi_uintn_t notify_tpl,
        }
 
        if ((type & (EVT_NOTIFY_WAIT | EVT_NOTIFY_SIGNAL)) &&
-           (is_valid_tpl(notify_tpl) != EFI_SUCCESS))
+           (!notify_function || is_valid_tpl(notify_tpl) != EFI_SUCCESS))
                return EFI_INVALID_PARAMETER;
 
        evt = calloc(1, sizeof(struct efi_event));