epee get_ns_count: cast to uint64_t before multiplying 10^9 to avoid overflow

This commit is contained in:
stoffu 2018-02-08 16:04:50 +09:00
parent ed67e5c001
commit 2bc8c3db5c
No known key found for this signature in database
GPG Key ID: 41DAB8343A9EC012

View File

@ -75,13 +75,13 @@ namespace misc_utils
clock_get_time(cclock, &mts); clock_get_time(cclock, &mts);
mach_port_deallocate(mach_task_self(), cclock); mach_port_deallocate(mach_task_self(), cclock);
return (mts.tv_sec * 1000000000) + (mts.tv_nsec); return ((uint64_t)mts.tv_sec * 1000000000) + (mts.tv_nsec);
#else #else
struct timespec ts; struct timespec ts;
if(clock_gettime(CLOCK_MONOTONIC, &ts) != 0) { if(clock_gettime(CLOCK_MONOTONIC, &ts) != 0) {
return 0; return 0;
} }
return (ts.tv_sec * 1000000000) + (ts.tv_nsec); return ((uint64_t)ts.tv_sec * 1000000000) + (ts.tv_nsec);
#endif #endif
} }