[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 6/7] tests/unit/test-throttle: Avoid unintended integer division
From: |
Peter Maydell |
Subject: |
[PULL 6/7] tests/unit/test-throttle: Avoid unintended integer division |
Date: |
Mon, 25 Mar 2024 12:35:49 +0000 |
In test_compute_wait() we do
double units = bkt.max / 10;
which does an integer division and then assigns it to a double variable,
and similarly later on in the expression for an assertion.
Use 10.0 so that we do a floating point division and calculate the
exact value, rather than doing an integer division.
Spotted by Coverity.
Resolves: Coverity CID 1432564
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-id: 20240312183810.557768-7-peter.maydell@linaro.org
---
tests/unit/test-throttle.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tests/unit/test-throttle.c b/tests/unit/test-throttle.c
index 2146cfacd36..24032a02667 100644
--- a/tests/unit/test-throttle.c
+++ b/tests/unit/test-throttle.c
@@ -127,13 +127,13 @@ static void test_compute_wait(void)
bkt.avg = 10;
bkt.max = 200;
for (i = 0; i < 22; i++) {
- double units = bkt.max / 10;
+ double units = bkt.max / 10.0;
bkt.level += units;
bkt.burst_level += units;
throttle_leak_bucket(&bkt, NANOSECONDS_PER_SECOND / 10);
wait = throttle_compute_wait(&bkt);
g_assert(double_cmp(bkt.burst_level, 0));
- g_assert(double_cmp(bkt.level, (i + 1) * (bkt.max - bkt.avg) / 10));
+ g_assert(double_cmp(bkt.level, (i + 1) * (bkt.max - bkt.avg) / 10.0));
/* We can do bursts for the 2 seconds we have configured in
* burst_length. We have 100 extra milliseconds of burst
* because bkt.level has been leaking during this time.
--
2.34.1
- [PULL 0/7] target-arm queue, Peter Maydell, 2024/03/25
- [PULL 1/7] tests/qtest/npcm7xx_emc_test: Don't leak cmd_line, Peter Maydell, 2024/03/25
- [PULL 2/7] tests/unit/socket-helpers: Don't close(-1), Peter Maydell, 2024/03/25
- [PULL 4/7] hw/misc/pca9554: Correct error check bounds in get/set pin functions, Peter Maydell, 2024/03/25
- [PULL 5/7] hw/nvram/mac_nvram: Report failure to write data, Peter Maydell, 2024/03/25
- [PULL 3/7] net/af-xdp.c: Don't leak sock_fds array in net_init_af_xdp(), Peter Maydell, 2024/03/25
- [PULL 6/7] tests/unit/test-throttle: Avoid unintended integer division,
Peter Maydell <=
- [PULL 7/7] tests/qtest/libqtest.c: Check for g_setenv() failure, Peter Maydell, 2024/03/25