EFI_STATUS Status;\r
CHAR16 *RetVal;\r
CHAR16 *Temp;\r
+ CHAR16 *FilePath;\r
CHAR16 *CodeType;\r
CHAR16 *DataType;\r
\r
return (CatSPrint(NULL, L"LoadedImage"));\r
}\r
\r
- HandleParsingHiiInit();\r
-\r
- Temp = HiiGetString(mHandleParsingHiiHandle, STRING_TOKEN(STR_LI_DUMP_MAIN), NULL);\r
- if (Temp == NULL) {\r
- return NULL;\r
- }\r
-\r
Status = gBS->OpenProtocol (\r
TheHandle,\r
&gEfiLoadedImageProtocolGuid,\r
);\r
\r
if (EFI_ERROR (Status)) {\r
- SHELL_FREE_NON_NULL (Temp);\r
return NULL;\r
}\r
\r
+ HandleParsingHiiInit();\r
+\r
+ Temp = HiiGetString(mHandleParsingHiiHandle, STRING_TOKEN(STR_LI_DUMP_MAIN), NULL);\r
+ if (Temp == NULL) {\r
+ return NULL;\r
+ }\r
+\r
+ FilePath = ConvertDevicePathToText(LoadedImage->FilePath, TRUE, TRUE);\r
+\r
DataType = ConvertMemoryType(LoadedImage->ImageDataType);\r
CodeType = ConvertMemoryType(LoadedImage->ImageCodeType);\r
\r
LoadedImage->ParentHandle,\r
LoadedImage->SystemTable,\r
LoadedImage->DeviceHandle,\r
- LoadedImage->FilePath,\r
+ FilePath,\r
LoadedImage->LoadOptionsSize,\r
LoadedImage->LoadOptions,\r
LoadedImage->ImageBase,\r
\r
\r
SHELL_FREE_NON_NULL(Temp);\r
+ SHELL_FREE_NON_NULL(FilePath);\r
SHELL_FREE_NON_NULL(CodeType);\r
SHELL_FREE_NON_NULL(DataType);\r
\r
// Verify that LinkWalker->TheHandle is valid handle\r
//\r
Status = gBS->ProtocolsPerHandle(ListWalker->TheHandle, &ProtocolBuffer, &ProtocolCount);\r
- if (EFI_ERROR (Status)) {\r
+ if (!EFI_ERROR (Status)) {\r
+ FreePool (ProtocolBuffer);\r
+ } else {\r
//\r
// TheHandle is not valid, so do not add to handle list\r
//\r
)\r
{\r
UINTN GuidCount;\r
- UINTN NtGuidCount\r
+ UINTN NtGuidCount;\r
UINTN Index;\r
\r
if (Count == NULL) {\r