]> Zhao Yanbai Git Server - minix.git/commitdiff
PM: fix clock_gettime() nanosecond overflow 71/1071/2
authorDavid van Moolenbroek <david@minix3.org>
Sat, 26 Oct 2013 12:40:21 +0000 (14:40 +0200)
committerGerrit Code Review <gerrit@gerrit>
Sun, 27 Oct 2013 16:05:03 +0000 (17:05 +0100)
Change-Id: I969b30862cb671200a26b55afe3d523b6cfd2a7c

servers/pm/time.c

index 40a73e00dd94b7a21d6637fb97e43a2e7c48078b..49e554cdd76247064177636388b494e27f3e100a 100644 (file)
@@ -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);
 }