From 3bd49a0c3fc6929868bebf23f567378abc27a580 Mon Sep 17 00:00:00 2001 From: Andrew Wood Date: Sat, 26 Jul 2025 20:53:22 +0100 Subject: [PATCH] Ensure the current average rate calculation can't accidentally divide by zero. --- src/pv/calc.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/pv/calc.c b/src/pv/calc.c index 4aac9de..2616d6a 100644 --- a/src/pv/calc.c +++ b/src/pv/calc.c @@ -59,6 +59,9 @@ static void pv__update_average_rate_history(pvtransfercalc_t calc, readonly_pvtr } else { off_t bytes = (calc->history[last].transferred - calc->history[first].transferred); long double sec = (calc->history[last].elapsed_sec - calc->history[first].elapsed_sec); + /* Safety check to avoid division by zero. */ + if (sec < 0.000001 && sec > -0.000001) + sec = 0.000001; calc->current_avg_rate = (long double) bytes / sec; } }