} 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
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