]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkUnixPkg/Dxe/PlatformBds/Generic/DeviceMngr/DeviceManager.c
BDS code calls Hii->FindHandles() with hardcoded length.
[mirror_edk2.git] / EdkUnixPkg / Dxe / PlatformBds / Generic / DeviceMngr / DeviceManager.c
index 3f648b7de6d43eb979b706cd3591758fdb51485b..02be71e789ed847a31ce2e784a7cc9ffad4cebc6 100644 (file)
@@ -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
@@ -487,6 +491,7 @@ Returns:
   }\r
 \r
   gBS->FreePool (UpdateData);\r
+  gBS->FreePool (HiiHandles);\r
 \r
   return Status;\r
 }\r