From 2e7c53b5971de21546ec26b4114c93362e792e41 Mon Sep 17 00:00:00 2001 From: David van Moolenbroek Date: Sat, 26 Oct 2013 14:40:21 +0200 Subject: [PATCH] PM: fix clock_gettime() nanosecond overflow Change-Id: I969b30862cb671200a26b55afe3d523b6cfd2a7c --- servers/pm/time.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/servers/pm/time.c b/servers/pm/time.c index 40a73e00d..49e554cdd 100644 --- a/servers/pm/time.c +++ b/servers/pm/time.c @@ -41,7 +41,8 @@ int do_gettime() } mp->mp_reply.reply_time = (time_t) (boottime + (clock / system_hz)); - mp->mp_reply.reply_ntime = (clock % system_hz) * 1000000000 / system_hz; + mp->mp_reply.reply_ntime = + (long) ((clock % system_hz) * 1000000000ULL / system_hz); return(OK); } @@ -103,7 +104,8 @@ int do_time() panic("do_time couldn't get uptime: %d", s); mp->mp_reply.reply_time = (time_t) (boottime + (realtime / system_hz)); - mp->mp_reply.reply_utime = (realtime % system_hz) * 1000000 / system_hz; + mp->mp_reply.reply_utime = + (long) ((realtime % system_hz) * 1000000ULL / system_hz); return(OK); }