]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManager.c
IntelFrameworkModulePkg: Fix misuses of AllocateCopyPool
[mirror_edk2.git] / IntelFrameworkModulePkg / Universal / BdsDxe / DeviceMngr / DeviceManager.c
index 125c49db5edb63f1f01371f16bfe1a5cc31eb6ef..5103c7e5d1d6af60b8b3ad6d8cccecf7c278e10a 100644 (file)
@@ -480,7 +480,11 @@ AddIdToMacDeviceList (
   } else {\r
     mMacDeviceList.MaxListLen += MAX_MAC_ADDRESS_NODE_LIST_LEN;\r
     if (mMacDeviceList.CurListLen != 0) {\r
-      TempDeviceList = (MENU_INFO_ITEM *)AllocateCopyPool (sizeof (MENU_INFO_ITEM) * mMacDeviceList.MaxListLen, (VOID *)mMacDeviceList.NodeList);\r
+      TempDeviceList = ReallocatePool (\r
+                         sizeof (MENU_INFO_ITEM) * mMacDeviceList.CurListLen,\r
+                         sizeof (MENU_INFO_ITEM) * mMacDeviceList.MaxListLen,\r
+                         mMacDeviceList.NodeList\r
+                         );\r
     } else {\r
       TempDeviceList = (MENU_INFO_ITEM *)AllocatePool (sizeof (MENU_INFO_ITEM) * mMacDeviceList.MaxListLen);\r
     }\r
@@ -491,10 +495,6 @@ AddIdToMacDeviceList (
     TempDeviceList[mMacDeviceList.CurListLen].PromptId = PromptId;  \r
     TempDeviceList[mMacDeviceList.CurListLen].QuestionId = (EFI_QUESTION_ID) (mMacDeviceList.CurListLen + NETWORK_DEVICE_LIST_KEY_OFFSET);\r
     \r
-    if (mMacDeviceList.CurListLen > 0) {\r
-      FreePool(mMacDeviceList.NodeList);\r
-    }\r
-    \r
     mMacDeviceList.NodeList = TempDeviceList;\r
   }\r
   mMacDeviceList.CurListLen ++;\r