mirror of
https://gitlab.com/chrony/chrony.git
synced 2025-12-03 16:55:07 -05:00
getdate+nts+rtc: avoid some coverity false positives
Modify the code to avoid making the following calls incorrectly reported as important findings by the coverity static analyzer: - memset() of size 0 at the end of an array - mktime() on a struct tm that has uninitialized tm_yday
This commit is contained in:
@@ -907,6 +907,7 @@ get_date (const char *p, const time_t *now)
|
|||||||
yyHour = tmp->tm_hour;
|
yyHour = tmp->tm_hour;
|
||||||
yyMinutes = tmp->tm_min;
|
yyMinutes = tmp->tm_min;
|
||||||
yySeconds = tmp->tm_sec;
|
yySeconds = tmp->tm_sec;
|
||||||
|
memset(&tm, 0, sizeof (tm));
|
||||||
tm.tm_isdst = tmp->tm_isdst;
|
tm.tm_isdst = tmp->tm_isdst;
|
||||||
yyMeridian = MER24;
|
yyMeridian = MER24;
|
||||||
yyRelSeconds = 0;
|
yyRelSeconds = 0;
|
||||||
@@ -943,7 +944,6 @@ get_date (const char *p, const time_t *now)
|
|||||||
tm.tm_hour += yyRelHour;
|
tm.tm_hour += yyRelHour;
|
||||||
tm.tm_min += yyRelMinutes;
|
tm.tm_min += yyRelMinutes;
|
||||||
tm.tm_sec += yyRelSeconds;
|
tm.tm_sec += yyRelSeconds;
|
||||||
tm.tm_wday = 0;
|
|
||||||
|
|
||||||
/* Let mktime deduce tm_isdst if we have an absolute timestamp,
|
/* Let mktime deduce tm_isdst if we have an absolute timestamp,
|
||||||
or if the relative timestamp mentions days, months, or years. */
|
or if the relative timestamp mentions days, months, or years. */
|
||||||
|
|||||||
@@ -536,6 +536,7 @@ generate_key(int index)
|
|||||||
BRIEF_ASSERT(key_length <= sizeof (key->key));
|
BRIEF_ASSERT(key_length <= sizeof (key->key));
|
||||||
|
|
||||||
UTI_GetRandomBytesUrandom(key->key, key_length);
|
UTI_GetRandomBytesUrandom(key->key, key_length);
|
||||||
|
if (key_length < sizeof (key->key))
|
||||||
memset(key->key + key_length, 0, sizeof (key->key) - key_length);
|
memset(key->key + key_length, 0, sizeof (key->key) - key_length);
|
||||||
UTI_GetRandomBytes(&key->id, sizeof (key->id));
|
UTI_GetRandomBytes(&key->id, sizeof (key->id));
|
||||||
|
|
||||||
|
|||||||
@@ -359,13 +359,13 @@ t_from_rtc(struct rtc_time *rtc_raw, int utc)
|
|||||||
time_t t1, t2;
|
time_t t1, t2;
|
||||||
|
|
||||||
/* Convert to seconds since 1970 */
|
/* Convert to seconds since 1970 */
|
||||||
|
memset(&rtc_tm, 0, sizeof (rtc_tm));
|
||||||
rtc_tm.tm_sec = rtc_raw->tm_sec;
|
rtc_tm.tm_sec = rtc_raw->tm_sec;
|
||||||
rtc_tm.tm_min = rtc_raw->tm_min;
|
rtc_tm.tm_min = rtc_raw->tm_min;
|
||||||
rtc_tm.tm_hour = rtc_raw->tm_hour;
|
rtc_tm.tm_hour = rtc_raw->tm_hour;
|
||||||
rtc_tm.tm_mday = rtc_raw->tm_mday;
|
rtc_tm.tm_mday = rtc_raw->tm_mday;
|
||||||
rtc_tm.tm_mon = rtc_raw->tm_mon;
|
rtc_tm.tm_mon = rtc_raw->tm_mon;
|
||||||
rtc_tm.tm_year = rtc_raw->tm_year;
|
rtc_tm.tm_year = rtc_raw->tm_year;
|
||||||
rtc_tm.tm_wday = 0;
|
|
||||||
|
|
||||||
temp1 = rtc_tm;
|
temp1 = rtc_tm;
|
||||||
temp1.tm_isdst = 0;
|
temp1.tm_isdst = 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user