]> git.proxmox.com Git - mirror_edk2.git/blobdiff - CryptoPkg/Library/BaseCryptLib/SysCall/TimerWrapper.c
Per gmtime manpage, tm_mon is the number of months since January
[mirror_edk2.git] / CryptoPkg / Library / BaseCryptLib / SysCall / TimerWrapper.c
index 805e6b4e206bbbec1a6114a42b33238c6cc0aad7..6422d610f3bd7976b233bae69b87bc7cf1e3d0c1 100644 (file)
@@ -148,14 +148,14 @@ struct tm * gmtime (const time_t *timer)
   GmTime->tm_yday = (int) DayNo;\r
 \r
   for (MonthNo = 12; MonthNo > 1; MonthNo--) {\r
-    if (DayNo > CumulativeDays[IsLeap(Year)][MonthNo]) {\r
+    if (DayNo >= CumulativeDays[IsLeap(Year)][MonthNo]) {\r
       DayNo = (UINT16) (DayNo - (UINT16) (CumulativeDays[IsLeap(Year)][MonthNo]));\r
       break;\r
     }\r
   }\r
 \r
-  GmTime->tm_mon  = (int) MonthNo;\r
-  GmTime->tm_mday = (int) DayNo;\r
+  GmTime->tm_mon  = (int) MonthNo - 1;\r
+  GmTime->tm_mday = (int) DayNo + 1;\r
 \r
   GmTime->tm_isdst  = 0;\r
   GmTime->tm_gmtoff = 0;\r