svn commit: r275932 - stable/10/sys/kern
Konstantin Belousov
kib at FreeBSD.org
Fri Dec 19 09:34:15 UTC 2014
Author: kib
Date: Fri Dec 19 09:34:14 2014
New Revision: 275932
URL: https://svnweb.freebsd.org/changeset/base/275932
Log:
MFC r275727:
For architectures where time_t is wide enough, in particular, 64bit
platforms, avoid overflow after year 2038 in clock_ct_to_ts().
PR: 195868
Modified:
stable/10/sys/kern/subr_clock.c
Directory Properties:
stable/10/ (props changed)
Modified: stable/10/sys/kern/subr_clock.c
==============================================================================
--- stable/10/sys/kern/subr_clock.c Fri Dec 19 06:51:01 2014 (r275931)
+++ stable/10/sys/kern/subr_clock.c Fri Dec 19 09:34:14 2014 (r275932)
@@ -133,7 +133,6 @@ print_ct(struct clocktime *ct)
int
clock_ct_to_ts(struct clocktime *ct, struct timespec *ts)
{
- time_t secs;
int i, year, days;
year = ct->year;
@@ -167,11 +166,10 @@ clock_ct_to_ts(struct clocktime *ct, str
days += days_in_month(year, i);
days += (ct->day - 1);
- /* Add hours, minutes, seconds. */
- secs = ((days * 24 + ct->hour) * 60 + ct->min) * 60 + ct->sec;
-
- ts->tv_sec = secs;
+ ts->tv_sec = (((time_t)days * 24 + ct->hour) * 60 + ct->min) * 60 +
+ ct->sec;
ts->tv_nsec = ct->nsec;
+
if (ct_debug)
printf(" = %ld.%09ld\n", (long)ts->tv_sec, (long)ts->tv_nsec);
return (0);
More information about the svn-src-stable-10
mailing list