diff --git a/src/unix/cygwin.c b/src/unix/cygwin.c index a3d17365..8849656f 100644 --- a/src/unix/cygwin.c +++ b/src/unix/cygwin.c @@ -34,7 +34,7 @@ uint64_t uv_hrtime() { struct timespec ts; clock_gettime(CLOCK_MONOTONIC, &ts); - return (ts.tv_sec * NANOSEC + ts.tv_nsec); + return (((uint64_t) ts.tv_sec) * NANOSEC + ts.tv_nsec); } void uv_loadavg(double avg[3]) { diff --git a/src/unix/freebsd.c b/src/unix/freebsd.c index a519f86d..5d0c6f4c 100644 --- a/src/unix/freebsd.c +++ b/src/unix/freebsd.c @@ -38,7 +38,7 @@ uint64_t uv_hrtime(void) { struct timespec ts; clock_gettime(CLOCK_MONOTONIC, &ts); - return (ts.tv_sec * NANOSEC + ts.tv_nsec); + return (((uint64_t) ts.tv_sec) * NANOSEC + ts.tv_nsec); } diff --git a/src/unix/linux.c b/src/unix/linux.c index a01d14b7..28346552 100644 --- a/src/unix/linux.c +++ b/src/unix/linux.c @@ -134,7 +134,7 @@ static char* basename_r(const char* path) { uint64_t uv_hrtime() { struct timespec ts; clock_gettime(CLOCK_MONOTONIC, &ts); - return (ts.tv_sec * NANOSEC + ts.tv_nsec); + return (((uint64_t) ts.tv_sec) * NANOSEC + ts.tv_nsec); } void uv_loadavg(double avg[3]) { diff --git a/src/unix/netbsd.c b/src/unix/netbsd.c index cf83c344..e4bea7ff 100644 --- a/src/unix/netbsd.c +++ b/src/unix/netbsd.c @@ -38,7 +38,7 @@ uint64_t uv_hrtime(void) { struct timespec ts; clock_gettime(CLOCK_MONOTONIC, &ts); - return (ts.tv_sec * NANOSEC + ts.tv_nsec); + return (((uint64_t) ts.tv_sec) * NANOSEC + ts.tv_nsec); } void uv_loadavg(double avg[3]) { diff --git a/src/unix/openbsd.c b/src/unix/openbsd.c index 55f8ceb0..96e78fbd 100644 --- a/src/unix/openbsd.c +++ b/src/unix/openbsd.c @@ -36,7 +36,7 @@ uint64_t uv_hrtime(void) { struct timespec ts; clock_gettime(CLOCK_MONOTONIC, &ts); - return (ts.tv_sec * NANOSEC + ts.tv_nsec); + return (((uint64_t) ts.tv_sec) * NANOSEC + ts.tv_nsec); } void uv_loadavg(double avg[3]) {