string: Fix UB on test-strrchr

UBSAN: Undefined behaviour in test-strrchr.c💯35 unsigned integer overflow: 1804289383 * 846930886 cannot be represened in type 'long int'

Use int64_t operations instead.
This commit is contained in:
Adhemerval Zanella 2025-04-25 13:04:33 -03:00
parent 180cbc0cc9
commit 9ae7611c80
1 changed files with 2 additions and 2 deletions

View File

@ -97,9 +97,9 @@ do_test (size_t align, size_t pos, size_t len, int seek_char, int max_char)
for (i = 0; i < len; ++i)
{
buf[align + i] = (random () * random ()) & max_char;
buf[align + i] = ((int64_t)random () * random ()) & max_char;
if (!buf[align + i])
buf[align + i] = (random () * random ()) & max_char;
buf[align + i] = ((int64_t)random () * random ()) & max_char;
if (!buf[align + i])
buf[align + i] = 1;
if ((i > pos || pos >= len) && buf[align + i] == seek_char)