diff --git a/src/monitor.c b/src/monitor.c index ee9ac9b52..2d0bf9559 100644 --- a/src/monitor.c +++ b/src/monitor.c @@ -158,9 +158,19 @@ double compute_remaining_time(double age, uint64_t packets_sent, remaining[4] = (1. - done) * (age / done) + zconf.cooldown_secs; } - return min_d(remaining, sizeof(remaining) / sizeof(double)); + double remaining_time = min_d(remaining, sizeof(remaining) / sizeof(double)); + if (remaining_time < 0) { + // remaining time cannot be less than zero + return 0; + } + return remaining_time; } else { - return zconf.cooldown_secs - (now() - zsend.finish); + double remaining_time = zconf.cooldown_secs - (now() - zsend.finish); + if (remaining_time < 0) { + // remaining time cannot be less than zero + return 0; + } + return remaining_time; } }