* 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. --- ChangeLog | 8 ++++++++ tests/test-dynarray.c | 2 +- tests/test-scratch-buffer.c | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/ChangeLog b/ChangeLog index 76ea9c3eb..6c4d4b5f2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2021-03-21 Paul Eggert <egg...@cs.ucla.edu> + + 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 <br...@clisp.org> doc: More updates. diff --git a/tests/test-dynarray.c b/tests/test-dynarray.c index 4308148f8..c3f9a29b5 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 f05c84fa4..517d73fd7 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; } -- 2.30.2