From 532691c8ba90e5022174503ab0781322c6f79cab Mon Sep 17 00:00:00 2001 From: jcarsey Date: Fri, 14 Oct 2011 19:21:13 +0000 Subject: ShellPkg: Add checking for memory allocation and pointer returns from functions. signed-off-by: jcarsey reviewed-by: geekboy15a git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12540 6f19259b-4bc3-4df7-8a09-765794883524 --- ShellPkg/Library/UefiShellLevel2CommandsLib/Map.c | 3 +++ ShellPkg/Library/UefiShellLevel2CommandsLib/TimeDate.c | 7 ++++++- .../UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.c | 4 ++++ 3 files changed, 13 insertions(+), 1 deletion(-) (limited to 'ShellPkg/Library/UefiShellLevel2CommandsLib') diff --git a/ShellPkg/Library/UefiShellLevel2CommandsLib/Map.c b/ShellPkg/Library/UefiShellLevel2CommandsLib/Map.c index 358f63d8db..a1f9448df9 100644 --- a/ShellPkg/Library/UefiShellLevel2CommandsLib/Map.c +++ b/ShellPkg/Library/UefiShellLevel2CommandsLib/Map.c @@ -414,6 +414,9 @@ PerformSingleMappingDisplay( CurrentName = NULL; CurrentName = StrnCatGrow(&CurrentName, 0, MapList, 0); + if (CurrentName == NULL) { + return (EFI_OUT_OF_RESOURCES); + } TempSpot = StrStr(CurrentName, L";"); if (TempSpot != NULL) { *TempSpot = CHAR_NULL; diff --git a/ShellPkg/Library/UefiShellLevel2CommandsLib/TimeDate.c b/ShellPkg/Library/UefiShellLevel2CommandsLib/TimeDate.c index aa40bbf22f..f2f2e60b7c 100644 --- a/ShellPkg/Library/UefiShellLevel2CommandsLib/TimeDate.c +++ b/ShellPkg/Library/UefiShellLevel2CommandsLib/TimeDate.c @@ -642,10 +642,15 @@ CheckAndSetTimeZone ( } Status = gRT->GetTime(&TheTime, NULL); - ASSERT_EFI_ERROR(Status); + if (EFI_ERROR(Status)) { + return (SHELL_DEVICE_ERROR); + } TimeZoneCopy = NULL; TimeZoneCopy = StrnCatGrow(&TimeZoneCopy, NULL, TimeZoneString, 0); + if (TimeZoneCopy == NULL) { + return (SHELL_OUT_OF_RESOURCES); + } Walker = TimeZoneCopy; Walker2 = StrStr(Walker, L":"); if (Walker2 != NULL && *Walker2 == L':') { diff --git a/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.c b/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.c index 6bdc39f08b..b153d2fe45 100644 --- a/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.c +++ b/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.c @@ -226,6 +226,10 @@ VerifyIntermediateDirectories ( PathCopy = StrnCatGrow(&PathCopy, NULL, Path, 0); FileHandle = NULL; + if (PathCopy == NULL) { + return (EFI_OUT_OF_RESOURCES); + } + for (TempSpot = &PathCopy[StrLen(PathCopy)-1] ; *TempSpot != CHAR_NULL && *TempSpot != L'\\' ; TempSpot = &PathCopy[StrLen(PathCopy)-1]){ *TempSpot = CHAR_NULL; } -- cgit v1.2.3