EFI_SHELL_PARAMETERS_PROTOCOL *mEfiShellParametersProtocol;\r
EFI_HANDLE mEfiShellEnvironment2Handle;\r
FILE_HANDLE_FUNCTION_MAP FileFunctionMap;\r
-CHAR16 *mPostReplaceFormat;\r
-CHAR16 *mPostReplaceFormat2;\r
\r
/**\r
Check if a Unicode character is a hexadecimal character.\r
)\r
{\r
EFI_STATUS Status;\r
- mPostReplaceFormat = AllocateZeroPool (PcdGet16 (PcdShellPrintBufferSize));\r
- ASSERT (mPostReplaceFormat != NULL);\r
- mPostReplaceFormat2 = AllocateZeroPool (PcdGet16 (PcdShellPrintBufferSize));\r
- ASSERT (mPostReplaceFormat2 != NULL);\r
\r
//\r
// UEFI 2.0 shell interfaces (used preferentially)\r
mEfiShellParametersProtocol = NULL;\r
mEfiShellInterface = NULL;\r
mEfiShellEnvironment2Handle = NULL;\r
- mPostReplaceFormat = NULL;\r
- mPostReplaceFormat2 = NULL;\r
\r
//\r
// verify that auto initialize is not set false\r
}\r
mEfiShellEnvironment2Handle = NULL;\r
\r
- if (mPostReplaceFormat != NULL) {\r
- FreePool(mPostReplaceFormat);\r
- }\r
- if (mPostReplaceFormat2 != NULL) {\r
- FreePool(mPostReplaceFormat2);\r
- }\r
- mPostReplaceFormat = NULL;\r
- mPostReplaceFormat2 = NULL;\r
-\r
return (EFI_SUCCESS);\r
}\r
\r
if (TestPath[StrLen(TestPath)-1] != L'\\') {\r
StrCat(TestPath, L"\\");\r
}\r
+ if (FileName[0] == L'\\') {\r
+ FileName++;\r
+ }\r
StrCat(TestPath, FileName);\r
if (StrStr(Walker, L";") != NULL) {\r
Walker = StrStr(Walker, L";") + 1;\r
CHAR16 *ResumeLocation;\r
CHAR16 *FormatWalker;\r
UINTN OriginalAttribute;\r
+ CHAR16 *mPostReplaceFormat;\r
+ CHAR16 *mPostReplaceFormat2;\r
+\r
+ mPostReplaceFormat = AllocateZeroPool (PcdGet16 (PcdShellPrintBufferSize));\r
+ mPostReplaceFormat2 = AllocateZeroPool (PcdGet16 (PcdShellPrintBufferSize));\r
\r
Status = EFI_SUCCESS;\r
OriginalAttribute = gST->ConOut->Mode->Attribute;\r
}\r
\r
gST->ConOut->SetAttribute(gST->ConOut, OriginalAttribute);\r
+\r
+ SHELL_FREE_NON_NULL(mPostReplaceFormat);\r
+ SHELL_FREE_NON_NULL(mPostReplaceFormat2);\r
return (Status);\r
}\r
\r