From 4a70b9823baa78af953aa89d077681293efe8b22 Mon Sep 17 00:00:00 2001 From: Jay Satiro Date: Mon, 28 Apr 2025 13:35:44 -0400 Subject: [PATCH] progress: fix integer overflow check - Fix logic typo. Prior to this change the overflow check was reversed, meaning it did not stop an overflow condition and also if there wasn't an overflow it erroneously set the total expected transfer size to the maximum value. Follow-up to 69ce9a7f from earlier today. Closes https://github.com/curl/curl/pull/17213 --- lib/progress.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/progress.c b/lib/progress.c index f02bfb2c08..aa63fed0e5 100644 --- a/lib/progress.c +++ b/lib/progress.c @@ -548,7 +548,7 @@ static void progress_meter(struct Curl_easy *data) ((p->flags & PGRS_DL_SIZE_KNOWN) ? p->dl.total_size : p->dl.cur_size); /* integer overflow check */ - if((CURL_OFF_T_MAX - total_expected_size) > dl_size) + if((CURL_OFF_T_MAX - total_expected_size) < dl_size) total_expected_size = CURL_OFF_T_MAX; /* capped */ else total_expected_size += dl_size; -- 2.47.3