From: Paul Eggert Date: Sun, 21 Mar 2021 21:52:08 +0000 (-0700) Subject: tests: fix signed overflow issues X-Git-Tag: v1.0~3017 X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=af3745fb175b382b31ce2c343972165fe4a6ca64;p=gnulib.git tests: fix signed overflow issues * tests/test-dynarray.c (value_at): Avoid undefined behavior in signed integer multiplication. * tests/test-scratch-buffer.c (byte_at): Likewise, for the theoretically-possible case where size_t is narrower than int. --- diff --git a/ChangeLog b/ChangeLog index 76ea9c3ebc..6c4d4b5f2f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2021-03-21 Paul Eggert + + tests: fix signed overflow issues + * tests/test-dynarray.c (value_at): Avoid undefined behavior + in signed integer multiplication. + * tests/test-scratch-buffer.c (byte_at): Likewise, for the + theoretically-possible case where size_t is narrower than int. + 2021-03-21 Bruno Haible doc: More updates. diff --git a/tests/test-dynarray.c b/tests/test-dynarray.c index 4308148f89..c3f9a29b54 100644 --- a/tests/test-dynarray.c +++ b/tests/test-dynarray.c @@ -28,7 +28,7 @@ #define N 100000 static int -value_at (int i) +value_at (long long int i) { return (i % 13) + ((i * i) % 251); } diff --git a/tests/test-scratch-buffer.c b/tests/test-scratch-buffer.c index f05c84fa46..517d73fd76 100644 --- a/tests/test-scratch-buffer.c +++ b/tests/test-scratch-buffer.c @@ -24,7 +24,7 @@ #include "macros.h" static int -byte_at (size_t i) +byte_at (unsigned long long int i) { return ((i % 13) + ((i * i) % 251)) & 0xff; }