HandleBuffer);\r
if (Status == EFI_BUFFER_TOO_SMALL) {\r
HandleBuffer = AllocatePool(BufferSize);\r
+ if (HandleBuffer == NULL) {\r
+ return (EFI_OUT_OF_RESOURCES);\r
+ }\r
Status = gBS->LocateHandle(\r
ByProtocol,\r
&gEfiDevicePathProtocolGuid,\r
&BufferSize,\r
HandleBuffer);\r
}\r
- ASSERT_EFI_ERROR(Status);\r
- ASSERT(HandleBuffer != NULL);\r
+ if (EFI_ERROR(Status)) {\r
+ SHELL_FREE_NON_NULL(HandleBuffer);\r
+ return (Status);\r
+ }\r
\r
//\r
// Get the map name(s) for each one.\r
if (Status == EFI_BUFFER_TOO_SMALL) {\r
FreePool(HandleBuffer);\r
HandleBuffer = AllocatePool(BufferSize);\r
+ if (HandleBuffer == NULL) {\r
+ return (EFI_OUT_OF_RESOURCES);\r
+ }\r
Status = gBS->LocateHandle(\r
ByProtocol,\r
&gEfiBlockIoProtocolGuid,\r
&BufferSize,\r
HandleBuffer);\r
}\r
- ASSERT_EFI_ERROR(Status);\r
+ if (EFI_ERROR(Status)) {\r
+ SHELL_FREE_NON_NULL(HandleBuffer);\r
+ return (Status);\r
+ }\r
\r
//\r
// Get the map name(s) for each one.\r
Size = StrSize(Path)+sizeof(CHAR16);\r
Size += StrSize(FileName);\r
TestPath = AllocateZeroPool(Size);\r
+ if (TestPath == NULL) {\r
+ return (NULL);\r
+ }\r
Walker = (CHAR16*)Path;\r
do {\r
CopyMem(TestPath, Walker, StrSize(Walker));\r
- TempChar = StrStr(TestPath, L";");\r
- if (TempChar != NULL) {\r
- *TempChar = CHAR_NULL;\r
- }\r
- if (TestPath[StrLen(TestPath)-1] != L'\\') {\r
- StrCat(TestPath, L"\\");\r
- }\r
- StrCat(TestPath, FileName);\r
- if (StrStr(Walker, L";") != NULL) {\r
- Walker = StrStr(Walker, L";") + 1;\r
- } else {\r
- Walker = NULL;\r
- }\r
- Status = ShellOpenFileByName(TestPath, &Handle, EFI_FILE_MODE_READ, 0);\r
- if (!EFI_ERROR(Status)){\r
- if (FileHandleIsDirectory(Handle) != EFI_SUCCESS) {\r
- ASSERT(RetVal == NULL);\r
- RetVal = StrnCatGrow(&RetVal, NULL, TestPath, 0);\r
- ShellCloseFile(&Handle);\r
- break;\r
+ if (TestPath != NULL) {\r
+ TempChar = StrStr(TestPath, L";");\r
+ if (TempChar != NULL) {\r
+ *TempChar = CHAR_NULL;\r
+ }\r
+ if (TestPath[StrLen(TestPath)-1] != L'\\') {\r
+ StrCat(TestPath, L"\\");\r
+ }\r
+ StrCat(TestPath, FileName);\r
+ if (StrStr(Walker, L";") != NULL) {\r
+ Walker = StrStr(Walker, L";") + 1;\r
} else {\r
- ShellCloseFile(&Handle);\r
+ Walker = NULL;\r
+ }\r
+ Status = ShellOpenFileByName(TestPath, &Handle, EFI_FILE_MODE_READ, 0);\r
+ if (!EFI_ERROR(Status)){\r
+ if (FileHandleIsDirectory(Handle) != EFI_SUCCESS) {\r
+ ASSERT(RetVal == NULL);\r
+ RetVal = StrnCatGrow(&RetVal, NULL, TestPath, 0);\r
+ ShellCloseFile(&Handle);\r
+ break;\r
+ } else {\r
+ ShellCloseFile(&Handle);\r
+ }\r
}\r
}\r
} while (Walker != NULL && Walker[0] != CHAR_NULL);\r
Replace = AllocateZeroPool(StrSize(ReplaceWith) + 2*sizeof(CHAR16));\r
UnicodeSPrint(Replace, StrSize(ReplaceWith) + 2*sizeof(CHAR16), L"\"%s\"", ReplaceWith);\r
}\r
+ if (Replace == NULL) {\r
+ return (EFI_OUT_OF_RESOURCES);\r
+ }\r
NewString = SetMem16(NewString, NewSize, CHAR_NULL);\r
while (*SourceString != CHAR_NULL) {\r
//\r
{\r
VA_LIST Marker;\r
EFI_STATUS RetVal;\r
+ if (Format == NULL) {\r
+ return (EFI_INVALID_PARAMETER);\r
+ }\r
VA_START (Marker, Format);\r
RetVal = InternalShellPrintWorker(Col, Row, Format, Marker);\r
VA_END(Marker);\r
{\r
EFI_STATUS Status;\r
SHELL_FILE_HANDLE Handle;\r
- CHAR16 *TempLocation;\r
+ CHAR16 *TempLocation;\r
+ CHAR16 *TempLocation2;\r
\r
ASSERT(DirName != NULL);\r
\r
// try good logic first.\r
//\r
if (mEfiShellProtocol != NULL) {\r
- TempLocation = StrnCatGrow(&TempLocation, NULL, DirName, 0);\r
- if (StrStr(TempLocation, L":") != NULL && StrLen(StrStr(TempLocation, L":")) == 2) {\r
- *(StrStr(TempLocation, L":")+1) = CHAR_NULL;\r
+ TempLocation = StrnCatGrow(&TempLocation, NULL, DirName, 0);\r
+ TempLocation2 = StrStr(TempLocation, L":");\r
+ if (TempLocation2 != NULL && StrLen(StrStr(TempLocation, L":")) == 2) {\r
+ *(TempLocation2+1) = CHAR_NULL;\r
}\r
if (mEfiShellProtocol->GetDevicePathFromMap(TempLocation) != NULL) {\r
FreePool(TempLocation);\r
Size = 0;\r
if (Type != ShellPromptResponseTypeFreeform) {\r
Resp = (SHELL_PROMPT_RESPONSE*)AllocatePool(sizeof(SHELL_PROMPT_RESPONSE));\r
+ if (Resp == NULL) {\r
+ return (EFI_OUT_OF_RESOURCES);\r
+ }\r
}\r
\r
switch(Type) {\r