]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkNt32Pkg/Dxe/PlatformBds/Generic/DeviceMngr/DeviceManager.c
BDS code calls Hii->FindHandles() with hardcoded length.
[mirror_edk2.git] / EdkNt32Pkg / Dxe / PlatformBds / Generic / DeviceMngr / DeviceManager.c
index 3f648b7de6d43eb979b706cd3591758fdb51485b..2da9c6fa369b6a6cc097218499148854be13ca01 100644 (file)
@@ -76,7 +76,7 @@ Returns:
     CallbackInfo->Data.VideoBIOS = (UINT8) (UINTN) (((EFI_IFR_DATA_ENTRY *)(DataArray + 1))->Data);\r
     gRT->SetVariable (\r
           L"VBIOS",\r
-          &gEfiGlobalVariableGuid,\r
+          &gEfiGenericPlatformVariableGuid,\r
           EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS | EFI_VARIABLE_NON_VOLATILE,\r
           sizeof (UINT8),\r
           &CallbackInfo->Data.VideoBIOS\r
@@ -201,6 +201,7 @@ Returns:
 \r
   IfrOptionList       = NULL;\r
   VideoOption         = NULL;\r
+  HiiHandles          = NULL;\r
   HandleBufferLength  = 0;\r
 \r
   //\r
@@ -268,8 +269,11 @@ Returns:
   CreateSubTitleOpCode (STR_EMPTY_STRING, &UpdateData->Data);\r
   Hii->UpdateForm (Hii, FPCallbackInfo.DevMgrHiiHandle, (EFI_FORM_LABEL) Count, TRUE, UpdateData);\r
 \r
-  HiiHandles = AllocateZeroPool (HandleBufferLength);\r
-  Hii->FindHandles (Hii, &HandleBufferLength, HiiHandles);\r
+  //\r
+  // Get all the Hii handles\r
+  //\r
+  Status = BdsLibGetHiiHandles (Hii, &HandleBufferLength, &HiiHandles);\r
+  ASSERT_EFI_ERROR (Status);\r
 \r
   for (Index = 1, BufferSize = 0; Index < HandleBufferLength; Index++) {\r
     //\r
@@ -395,7 +399,7 @@ Returns:
   //\r
   VideoOption = BdsLibGetVariableAndSize (\r
                   L"VBIOS",\r
-                  &gEfiGlobalVariableGuid,\r
+                  &gEfiGenericPlatformVariableGuid,\r
                   &VideoOptionSize\r
                   );\r
   if (NULL == VideoOption) {\r
@@ -487,6 +491,7 @@ Returns:
   }\r
 \r
   gBS->FreePool (UpdateData);\r
+  gBS->FreePool (HiiHandles);\r
 \r
   return Status;\r
 }\r