summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGary Ching-Pang Lin <glin@suse.com>2012-10-11 09:24:06 -0400
committerMatthew Garrett <mjg@redhat.com>2012-10-11 09:24:06 -0400
commitd6332c078fee79aab827136c90344ada3aebbea7 (patch)
tree41b9bd32dea1f7d45883e1e29a005be436f4a884
parent4aeb0a91622d50d40364965254d63515f1844c75 (diff)
downloadefi-boot-shim-d6332c078fee79aab827136c90344ada3aebbea7.tar.gz
efi-boot-shim-d6332c078fee79aab827136c90344ada3aebbea7.zip
Pass the size of MokNew to the key enrollment function
The size of MokNew was missing and it caused crash when enrolling new MOKs with mokutil
-rw-r--r--MokManager.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/MokManager.c b/MokManager.c
index 3af2cceb..a6954e88 100644
--- a/MokManager.c
+++ b/MokManager.c
@@ -1025,7 +1025,8 @@ static INTN find_fs (void *data, void *data2) {
return 0;
}
-static EFI_STATUS enter_mok_menu(EFI_HANDLE image_handle, void *MokNew)
+static EFI_STATUS enter_mok_menu(EFI_HANDLE image_handle, void *MokNew,
+ UINTN MokNewSize)
{
struct menu_item *menu_item;
UINT32 MokNum;
@@ -1056,6 +1057,7 @@ static EFI_STATUS enter_mok_menu(EFI_HANDLE image_handle, void *MokNew)
menu_item[1].text = StrDuplicate(L"Enroll MOK\n");
menu_item[1].colour = EFI_WHITE;
menu_item[1].data = MokNew;
+ menu_item[1].data2 = (void *)MokNewSize;
menu_item[1].callback = mok_enrollment_prompt_callback;
}
menucount++;
@@ -1080,7 +1082,7 @@ static EFI_STATUS check_mok_request(EFI_HANDLE image_handle)
MokNew = LibGetVariableAndSize(L"MokNew", &shim_lock_guid, &MokNewSize);
- enter_mok_menu(image_handle, MokNew);
+ enter_mok_menu(image_handle, MokNew, MokNewSize);
if (MokNew) {
if (LibDeleteVariable(L"MokNew", &shim_lock_guid) != EFI_SUCCESS) {