From 9205d1d7321d8653cb3df604b639bdd0cff6a95c Mon Sep 17 00:00:00 2001 From: NAKAJIMA Yusaku Date: Tue, 9 Nov 2021 17:49:01 +0900 Subject: [PATCH] fix left shift of negative value --- src/CHANGES | 1 + src/src/rateup.c | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/CHANGES b/src/CHANGES index 6c8db3e..aae13d5 100644 --- a/src/CHANGES +++ b/src/CHANGES @@ -21,6 +21,7 @@ From: youpong * remove unused variables from rateup.c * stop ignoring return value of function fgets * fix signedness of time_t +* fix left shift of negative value From: Hilko Bengen * avoid to include global options by default diff --git a/src/src/rateup.c b/src/src/rateup.c index 4eb2c5d..38a9b4d 100644 --- a/src/src/rateup.c +++ b/src/src/rateup.c @@ -1450,7 +1450,7 @@ update (in, out, abs_max, absupdate) { inr = diff (in, last.in); if (inr < 0) { - if (inr > - (long long) 1 << 32) { /* wrapped 32-bit counter? */ + if (inr > - ((long long) 1 << 32)) { /* wrapped 32-bit counter? */ inr += (long long) 1 << 32; } else { @@ -1497,7 +1497,7 @@ update (in, out, abs_max, absupdate) { outr = diff (out, last.out); if (outr < 0) { /* wrapped counter? */ - if (outr > - (long long) 1 << 32) { + if (outr > - ((long long) 1 << 32)) { outr += (long long) 1 << 32; } else {