mirror of https://github.com/acidanthera/audk.git
CryptoPkg/BaseCryptLib: Add error handling for time() wrapper
In time() wrapper implementation, the gRT->GetTime() call may be not available. This patch adds the extra error handling to avoid the potential dead loop. Cc: Star Zeng <star.zeng@intel.com> Cc: Ting Ye <ting.ye@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Qin Long <qin.long@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com>
This commit is contained in:
parent
a662afb5b0
commit
ab187ae25a
|
@ -2,7 +2,7 @@
|
|||
C Run-Time Libraries (CRT) Time Management Routines Wrapper Implementation
|
||||
for OpenSSL-based Cryptographic Library (used in DXE & RUNTIME).
|
||||
|
||||
Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
|
@ -72,14 +72,18 @@ UINTN CumulativeDays[2][14] = {
|
|||
// )
|
||||
time_t time (time_t *timer)
|
||||
{
|
||||
EFI_TIME Time;
|
||||
time_t CalTime;
|
||||
UINTN Year;
|
||||
EFI_STATUS Status;
|
||||
EFI_TIME Time;
|
||||
time_t CalTime;
|
||||
UINTN Year;
|
||||
|
||||
//
|
||||
// Get the current time and date information
|
||||
//
|
||||
gRT->GetTime (&Time, NULL);
|
||||
Status = gRT->GetTime (&Time, NULL);
|
||||
if (EFI_ERROR (Status) || (Time.Year < 1970)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
//
|
||||
// Years Handling
|
||||
|
|
Loading…
Reference in New Issue