diff --git a/src/posix/platform/alarm.cpp b/src/posix/platform/alarm.cpp index dd5d47e90..fc28af936 100644 --- a/src/posix/platform/alarm.cpp +++ b/src/posix/platform/alarm.cpp @@ -159,8 +159,11 @@ exit: remaining = 1; } - aTimeout->tv_sec = (time_t)(remaining / US_PER_S); - aTimeout->tv_usec = remaining % US_PER_S; + if (remaining < aTimeout->tv_sec * US_PER_S + aTimeout->tv_usec) + { + aTimeout->tv_sec = static_cast(remaining / US_PER_S); + aTimeout->tv_usec = static_cast(remaining % US_PER_S); + } } }