mirror of https://github.com/acidanthera/audk.git
PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe: PcdRtcDefaultYear bounds
Add bounds checks of PcdRtcDefaultYear to guarantee that the year
is always between PcdMinimalValidYear and PcdMaximalValidYear.
This is required to make the following commit a backwards compatible
change and guarantee and invalid year is never set.
d55d73152e
This is required because use of an expression in the DEC file
PCD default value is only used to determine the DEC default values.
If an INF/DSC overrides PcdRtcDefaultYear, then the DEC expression
for PcdMinimalValidYear is not applied again.
Cc: Ray Ni <ray.ni@intel.com>
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
This commit is contained in:
parent
6f0c65cdb0
commit
e9e6167123
|
@ -317,7 +317,8 @@ PcRtcInit (
|
|||
Time.Hour = RTC_INIT_HOUR;
|
||||
Time.Day = RTC_INIT_DAY;
|
||||
Time.Month = RTC_INIT_MONTH;
|
||||
Time.Year = PcdGet16 (PcdRtcDefaultYear);
|
||||
Time.Year = MAX (PcdGet16 (PcdRtcDefaultYear), PcdGet16 (PcdMinimalValidYear));
|
||||
Time.Year = MIN (Time.Year, PcdGet16 (PcdMaximalValidYear));
|
||||
Time.Nanosecond = 0;
|
||||
Time.TimeZone = EFI_UNSPECIFIED_TIMEZONE;
|
||||
Time.Daylight = 0;
|
||||
|
@ -357,7 +358,8 @@ PcRtcInit (
|
|||
Time.Hour = RTC_INIT_HOUR;
|
||||
Time.Day = RTC_INIT_DAY;
|
||||
Time.Month = RTC_INIT_MONTH;
|
||||
Time.Year = PcdGet16 (PcdRtcDefaultYear);
|
||||
Time.Year = MAX (PcdGet16 (PcdRtcDefaultYear), PcdGet16 (PcdMinimalValidYear));
|
||||
Time.Year = MIN (Time.Year, PcdGet16 (PcdMaximalValidYear));
|
||||
Time.Nanosecond = 0;
|
||||
Time.TimeZone = Global->SavedTimeZone;
|
||||
Time.Daylight = Global->Daylight;
|
||||
|
|
Loading…
Reference in New Issue