From b3ff35663b1291bb4d3a726015e4cd8e6d0ce3fd Mon Sep 17 00:00:00 2001 From: Gary Ching-Pang Lin Date: Thu, 20 Sep 2012 10:28:00 +0800 Subject: [PATCH] Check the MOK list correctly --- shim.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/shim.c b/shim.c index d91005c..4329729 100644 --- a/shim.c +++ b/shim.c @@ -116,18 +116,18 @@ static MokListNode *build_mok_list(UINT32 num, void *Data, UINTN DataSize) { ptr = Data; for (i = 0; i < num; i++) { + CopyMem(&list[i].MokSize, ptr, sizeof(UINT32)); + remain -= sizeof(UINT32) + list[i].MokSize; + if (remain < 0) { Print(L"MOK list was corrupted\n"); FreePool(list); return NULL; } - CopyMem(&list[i].MokSize, ptr, sizeof(UINT32)); ptr += sizeof(UINT32); list[i].Mok = ptr; ptr += list[i].MokSize; - - remain -= sizeof(UINT32) + list[i].MokSize; } return list;