summaryrefslogtreecommitdiff
path: root/MokManager.c
diff options
context:
space:
mode:
Diffstat (limited to 'MokManager.c')
-rw-r--r--MokManager.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/MokManager.c b/MokManager.c
index 9025f6f1..97501f61 100644
--- a/MokManager.c
+++ b/MokManager.c
@@ -101,6 +101,9 @@ static MokListNode *build_mok_list(UINT32 num, void *Data, UINTN DataSize) {
int i;
void *ptr;
+ if (DataSize < sizeof(UINT32))
+ return NULL;
+
list = AllocatePool(sizeof(MokListNode) * num);
if (!list) {
@@ -478,7 +481,7 @@ static EFI_STATUS check_mok_request(EFI_HANDLE image_handle)
efi_status = get_variable(L"MokNew", shim_lock_guid, &attributes,
&MokNewSize, &MokNew);
- if (efi_status != EFI_SUCCESS) {
+ if (efi_status != EFI_SUCCESS || MokNewSize < sizeof(UINT32)) {
goto error;
}