Check the MOK list correctly

This commit is contained in:
Gary Ching-Pang Lin 2012-09-20 10:28:00 +08:00
parent 1d7c0f8602
commit b3ff35663b

6
shim.c
View File

@ -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;