mirror of git://sourceware.org/git/glibc.git
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:
parent
180cbc0cc9
commit
9ae7611c80
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Reference in New Issue