rtc-lib: Check tm_wday for validity in rtc_valid_tm()
RTC drivers rely on rtc_valid_tm() in order to make sure that no bogus values from uninitialized HW registers get passed to the uppper layers. A somewhat contrived way to reproduce this problem with DS1307 RTC would be to do the following: > i2c_write -b <bus> -a <addr> -r 3 0x00 > hwclock Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
parent
304cdde167
commit
645320b94a
|
@ -90,6 +90,8 @@ int rtc_valid_tm(struct rtc_time *tm)
|
|||
{
|
||||
if (tm->tm_year < 70
|
||||
|| ((unsigned)tm->tm_mon) >= 12
|
||||
|| tm->tm_wday < 0
|
||||
|| tm->tm_wday > 6
|
||||
|| tm->tm_mday < 1
|
||||
|| tm->tm_mday > rtc_month_days(tm->tm_mon, tm->tm_year + 1900)
|
||||
|| ((unsigned)tm->tm_hour) >= 24
|
||||
|
|
Loading…
Reference in New Issue