Merge pull request #220 from aristanemi/mul_overflow_fix

timespec multiplication overflow fix
This commit is contained in:
Wolfgang Hommel
2019-12-17 18:55:20 +01:00
committed by GitHub

View File

@@ -60,9 +60,9 @@
#define timermul2(tvp, c, result, prefix) \
do \
{ \
long long tmp_time; \
tmp_time = (c) * ((tvp)->tv_sec * SEC_TO_##prefix##SEC + \
(tvp)->tv_##prefix##sec); \
int64_t tmp_time; \
tmp_time = (c) * (int64_t) ((tvp)->tv_sec * SEC_TO_##prefix##SEC + \
(int64_t) (tvp)->tv_##prefix##sec); \
(result)->tv_##prefix##sec = tmp_time % SEC_TO_##prefix##SEC; \
(result)->tv_sec = (tmp_time - (result)->tv_##prefix##sec) / \
SEC_TO_##prefix##SEC; \