glibc/string
Noah Goldstein a2be2c0f5d String: Add overflow tests for strnlen, memchr, and strncat [BZ #27974]
This commit adds tests for a bug in the wide char variant of the
functions where the implementation may assume that maxlen for wcsnlen
or n for wmemchr/strncat will not overflow when multiplied by
sizeof(wchar_t).

These tests show the following implementations failing on x86_64:

wcsnlen-sse4_1
wcsnlen-avx2

wmemchr-sse2
wmemchr-avx2

strncat would fail as well if it where on a system that prefered
either of the wcsnlen implementations that failed as it relies on
wcsnlen.

Signed-off-by: Noah Goldstein <goldstein.w.n@gmail.com>
Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
(cherry picked from commit da5a6fba0f)
2022-01-27 15:49:37 -08:00
..
bits Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
_strerror.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
argz-addsep.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
argz-append.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
argz-count.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
argz-create.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
argz-ctsep.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
argz-delete.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
argz-extract.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
argz-insert.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
argz-next.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
argz-replace.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
argz-stringify.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
argz.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
basename.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
bcopy.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
bug-envz1.c
bug-strcoll1.c
bug-strcoll2.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
bug-strncat1.c
bug-strpbrk1.c Fix bug-strspn1.c, bug-strpbrk1.c build with GCC mainline. 2018-06-20 22:18:22 +00:00
bug-strspn1.c Fix bug-strspn1.c, bug-strpbrk1.c build with GCC mainline. 2018-06-20 22:18:22 +00:00
bug-strtok1.c
byteswap.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
bzero.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
Depend
endian.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
envz.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
envz.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
explicit_bzero.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
ffs.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
ffsll.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
inl-tester.c
Makefile Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
memccpy.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
memchr.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
memcmp.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
memcpy.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
memfrob.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
memmem.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
memmove.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
memory.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
mempcpy.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
memrchr.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
memset.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
noinl-tester.c
rawmemchr.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
stpcpy.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
stpncpy.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
str-two-way.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
stratcliff.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strcasecmp_l.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strcasecmp.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strcasestr.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strcat.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strchr.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strchrnul.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strcmp.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strcoll_l.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strcoll.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strcpy.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strcspn.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strdup.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strerror_l.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strerror.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strfry.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
string-inlines.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
string.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strings.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strlen.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strncase_l.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strncase.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strncat.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strncmp.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strncpy.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strndup.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strnlen.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strpbrk.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strrchr.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strsep.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strsignal.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strspn.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strstr.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strtok_r.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strtok.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strverscmp.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strxfrm_l.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strxfrm.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
swab.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-bcopy.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-bzero.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-endian-file-scope.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-endian-sign-conversion.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-endian-types.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-explicit_bzero.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-ffs.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-memccpy.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-memchr.c String: Add overflow tests for strnlen, memchr, and strncat [BZ #27974] 2022-01-27 15:49:37 -08:00
test-memcmp.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-memcpy.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-memmem.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-memmove.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-mempcpy.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-memrchr.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-memset.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-rawmemchr.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-stpcpy.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-stpncpy.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-strcasecmp.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-strcasestr.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-strcat.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-strchr.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-strchrnul.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-strcmp.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-strcpy.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-strcspn.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-strerror-errno.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-string.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-strlen.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-strncasecmp.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-strncat.c String: Add overflow tests for strnlen, memchr, and strncat [BZ #27974] 2022-01-27 15:49:37 -08:00
test-strncmp.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-strncpy.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-strnlen.c String: Add overflow tests for strnlen, memchr, and strncat [BZ #27974] 2022-01-27 15:49:37 -08:00
test-strpbrk.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-strrchr.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-strspn.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-strstr.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
testcopy.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tester.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-bswap.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-cmp.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-endian.c
tst-inlcall.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-strcoll-overflow.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-strfry.c
tst-strlen.c
tst-strtok_r.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-strtok.c
tst-strxfrm2.c
tst-strxfrm.c
tst-svc2.c
tst-svc.c
tst-svc.expect
tst-svc.input
tst-xbzero-opt.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
Versions
wordcopy.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
xpg-strerror.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00