fix integer overflows in time_t/struct tm conversion code
authorRich Felker <dalias@aerifal.cx>
Thu, 8 Oct 2015 23:30:42 +0000 (23:30 +0000)
committerRich Felker <dalias@aerifal.cx>
Thu, 8 Oct 2015 23:30:42 +0000 (23:30 +0000)
commitc82d3bada30cb27e14abda7859da5d2e784830ff
tree080b81ab7a2c1036c37bb07b46886c40c961fd52
parent7b9f57f207b51132f188f750161953b7baf32154
fix integer overflows in time_t/struct tm conversion code

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.
src/time/__secs_to_tm.c