diff --git a/ShellPkg/Library/UefiShellLevel2CommandsLib/TimeDate.c b/ShellPkg/Library/UefiShellLevel2CommandsLib/TimeDate.c index e5596ba04b..6fbb3e59a9 100644 --- a/ShellPkg/Library/UefiShellLevel2CommandsLib/TimeDate.c +++ b/ShellPkg/Library/UefiShellLevel2CommandsLib/TimeDate.c @@ -221,7 +221,10 @@ ShellCommandRunDate ( // get the current date // Status = gRT->GetTime(&TheTime, NULL); - ASSERT_EFI_ERROR(Status); + if (EFI_ERROR(Status)) { + ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_UEFI_FUNC_WARN), gShellLevel2HiiHandle, L"gRT->GetTime", Status); + return (SHELL_DEVICE_ERROR); + } // // ShellPrintEx the date in SFO or regular format @@ -312,7 +315,10 @@ CheckAndSetTime ( } Status = gRT->GetTime(&TheTime, NULL); - ASSERT_EFI_ERROR(Status); + if (EFI_ERROR(Status)) { + ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_UEFI_FUNC_WARN), gShellLevel2HiiHandle, L"gRT->GetTime", Status); + return (SHELL_DEVICE_ERROR); + } if (TimeString != NULL) { TimeStringCopy = NULL; @@ -420,7 +426,11 @@ ShellCommandRunTime ( // check for "-?" // Status = gRT->GetTime(&TheTime, NULL); - ASSERT_EFI_ERROR(Status); + if (EFI_ERROR(Status)) { + ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_UEFI_FUNC_WARN), gShellLevel2HiiHandle, L"gRT->GetTime", Status); + return (SHELL_DEVICE_ERROR); + } + if (ShellCommandLineGetFlag(Package, L"-?")) { ASSERT(FALSE); } else if (ShellCommandLineGetRawValue(Package, 2) != NULL) { @@ -640,6 +650,7 @@ CheckAndSetTimeZone ( Status = gRT->GetTime(&TheTime, NULL); if (EFI_ERROR(Status)) { + ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_UEFI_FUNC_WARN), gShellLevel2HiiHandle, L"gRT->GetTime", Status); return (SHELL_DEVICE_ERROR); } @@ -785,7 +796,10 @@ ShellCommandRunTimeZone ( // Get Current Time Zone Info // Status = gRT->GetTime(&TheTime, NULL); - ASSERT_EFI_ERROR(Status); + if (EFI_ERROR(Status)) { + ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_UEFI_FUNC_WARN), gShellLevel2HiiHandle, L"gRT->GetTime", Status); + return (SHELL_DEVICE_ERROR); + } if (TheTime.TimeZone != EFI_UNSPECIFIED_TIMEZONE) { Found = FALSE; diff --git a/ShellPkg/Library/UefiShellLevel3CommandsLib/Touch.c b/ShellPkg/Library/UefiShellLevel3CommandsLib/Touch.c index 29f6be3931..f5e27ef1a9 100644 --- a/ShellPkg/Library/UefiShellLevel3CommandsLib/Touch.c +++ b/ShellPkg/Library/UefiShellLevel3CommandsLib/Touch.c @@ -38,7 +38,11 @@ TouchFileByHandle ( return (EFI_ACCESS_DENIED); } Status = gRT->GetTime(&FileInfo->ModificationTime, NULL); - ASSERT_EFI_ERROR(Status); + if (EFI_ERROR(Status)) { + ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PROBLEM), gShellLevel3HiiHandle, L"gRT->GetTime", Status); + return (SHELL_DEVICE_ERROR); + } + CopyMem(&FileInfo->LastAccessTime, &FileInfo->ModificationTime, sizeof(EFI_TIME)); Status = gEfiShellProtocol->SetFileInfo(Handle, FileInfo);