path: root/src/time/__secs_to_tm.c
AgeCommit message (Collapse)AuthorLines
2016-11-07fix integer overflow of tm_year in __secs_to_tmDaniel Sabogal-4/+5
the overflow check for years+100 did not account for the extra year computed from the remaining months. instead, perform this check after obtaining the final number of years.
2015-10-08fix integer overflows in time_t/struct tm conversion codeRich Felker-3/+3
as found and reported by Brian Mastenbrook, the expressions 400*qc_cycles and years+100 in __secs_to_tm were both subject to integer overflow for extreme values of the input t. this patch by Szabolcs Nagy fixes the code by switching to larger types, and matches the original intent I had in mind when writing this code.
2013-07-17the big time handling overhaulRich Felker-0/+81
this commit has two major user-visible parts: zoneinfo-format time zones are now supported, and overflow handling is intended to be complete in the sense that all functions return a correct result if and only if the result fits in the destination type, and otherwise return an error. also, some noticable bugs in the way DST detection and normalization worked have been fixed, and performance may be better than before, but it has not been tested.