diff mbox series

[4/6] tests/qtest/pflash-cfi02-test: Avoid potential integer overflow

Message ID 20210525134458.6675-5-peter.maydell@linaro.org (mailing list archive)
State New, archived
Headers show
Series tests: Fix some minor Coverity issues | expand

Commit Message

Peter Maydell May 25, 2021, 1:44 p.m. UTC
Coverity points out that we calculate a 64-bit value using 32-bit
arithmetic; add the cast to force the multiply to be done as 64-bits.
(The overflow will never happen with the current test data.)

Fixes: Coverity CID 1432320
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 tests/qtest/pflash-cfi02-test.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Philippe Mathieu-Daudé May 25, 2021, 2 p.m. UTC | #1
On 5/25/21 3:44 PM, Peter Maydell wrote:
> Coverity points out that we calculate a 64-bit value using 32-bit
> arithmetic; add the cast to force the multiply to be done as 64-bits.
> (The overflow will never happen with the current test data.)
> 
> Fixes: Coverity CID 1432320
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
>  tests/qtest/pflash-cfi02-test.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Stefan Berger May 25, 2021, 4:14 p.m. UTC | #2
On 5/25/21 9:44 AM, Peter Maydell wrote:
> Coverity points out that we calculate a 64-bit value using 32-bit
> arithmetic; add the cast to force the multiply to be done as 64-bits.
> (The overflow will never happen with the current test data.)
>
> Fixes: Coverity CID 1432320
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

Reviewed-by: Stefan Berger <stefanb@linux.ibm.com>


> ---
>   tests/qtest/pflash-cfi02-test.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tests/qtest/pflash-cfi02-test.c b/tests/qtest/pflash-cfi02-test.c
> index 60db81a3a2b..6168edc821a 100644
> --- a/tests/qtest/pflash-cfi02-test.c
> +++ b/tests/qtest/pflash-cfi02-test.c
> @@ -406,7 +406,7 @@ static void test_geometry(const void *opaque)
>
>       for (int region = 0; region < nb_erase_regions; ++region) {
>           for (uint32_t i = 0; i < c->nb_blocs[region]; ++i) {
> -            uint64_t byte_addr = i * c->sector_len[region];
> +            uint64_t byte_addr = (uint64_t)i * c->sector_len[region];
>               g_assert_cmphex(flash_read(c, byte_addr), ==, bank_mask(c));
>           }
>       }
diff mbox series

Patch

diff --git a/tests/qtest/pflash-cfi02-test.c b/tests/qtest/pflash-cfi02-test.c
index 60db81a3a2b..6168edc821a 100644
--- a/tests/qtest/pflash-cfi02-test.c
+++ b/tests/qtest/pflash-cfi02-test.c
@@ -406,7 +406,7 @@  static void test_geometry(const void *opaque)
 
     for (int region = 0; region < nb_erase_regions; ++region) {
         for (uint32_t i = 0; i < c->nb_blocs[region]; ++i) {
-            uint64_t byte_addr = i * c->sector_len[region];
+            uint64_t byte_addr = (uint64_t)i * c->sector_len[region];
             g_assert_cmphex(flash_read(c, byte_addr), ==, bank_mask(c));
         }
     }