diff --git a/getdate.y b/getdate.y index c305fb7..8fd5687 100644 --- a/getdate.y +++ b/getdate.y @@ -907,6 +907,7 @@ get_date (const char *p, const time_t *now) yyHour = tmp->tm_hour; yyMinutes = tmp->tm_min; yySeconds = tmp->tm_sec; + memset(&tm, 0, sizeof (tm)); tm.tm_isdst = tmp->tm_isdst; yyMeridian = MER24; yyRelSeconds = 0; @@ -943,7 +944,6 @@ get_date (const char *p, const time_t *now) tm.tm_hour += yyRelHour; tm.tm_min += yyRelMinutes; tm.tm_sec += yyRelSeconds; - tm.tm_wday = 0; /* Let mktime deduce tm_isdst if we have an absolute timestamp, or if the relative timestamp mentions days, months, or years. */ diff --git a/nts_ke_server.c b/nts_ke_server.c index 26cc0cf..33aef08 100644 --- a/nts_ke_server.c +++ b/nts_ke_server.c @@ -536,7 +536,8 @@ generate_key(int index) BRIEF_ASSERT(key_length <= sizeof (key->key)); UTI_GetRandomBytesUrandom(key->key, key_length); - memset(key->key + key_length, 0, sizeof (key->key) - key_length); + if (key_length < sizeof (key->key)) + memset(key->key + key_length, 0, sizeof (key->key) - key_length); UTI_GetRandomBytes(&key->id, sizeof (key->id)); /* Encode the index in the lowest bits of the ID */ diff --git a/rtc_linux.c b/rtc_linux.c index 31f495b..d15c78f 100644 --- a/rtc_linux.c +++ b/rtc_linux.c @@ -359,13 +359,13 @@ t_from_rtc(struct rtc_time *rtc_raw, int utc) time_t t1, t2; /* Convert to seconds since 1970 */ + memset(&rtc_tm, 0, sizeof (rtc_tm)); rtc_tm.tm_sec = rtc_raw->tm_sec; rtc_tm.tm_min = rtc_raw->tm_min; rtc_tm.tm_hour = rtc_raw->tm_hour; rtc_tm.tm_mday = rtc_raw->tm_mday; rtc_tm.tm_mon = rtc_raw->tm_mon; rtc_tm.tm_year = rtc_raw->tm_year; - rtc_tm.tm_wday = 0; temp1 = rtc_tm; temp1.tm_isdst = 0;