diff options
author | Stefan Liebler <stli@linux.ibm.com> | 2023-02-28 13:48:34 +0100 |
---|---|---|
committer | Stefan Liebler <stli@linux.ibm.com> | 2023-03-02 14:25:34 +0100 |
commit | 51aeab9a363a0d000d0912aa3d6490463a26fba2 (patch) | |
tree | 368eee0a6af256cafc44c7530e407e5115966eac /string | |
parent | 1e0c8356f591a62df9725b6c9387da78002ba412 (diff) | |
download | glibc-51aeab9a363a0d000d0912aa3d6490463a26fba2.zip glibc-51aeab9a363a0d000d0912aa3d6490463a26fba2.tar.gz glibc-51aeab9a363a0d000d0912aa3d6490463a26fba2.tar.bz2 |
Fix stringop-overflow warning in test-strncat.
Starting with commit
b2c474f8de4c92bfe7435853a96805ec32d68dfa
"x86: Fix strncat-avx2.S reading past length [BZ #30065]"
Building on s390 the test fails due warnings like:
In function ‘do_one_test’,
inlined from ‘do_overflow_tests’ at test-strncat.c:175:7:
test-strncat.c:31:18: error: ‘strnlen’ specified bound [4294966546, 4294967295] exceeds maximum object size 2147483647 [-Werror=stringop-overflow=]
31 | # define STRNLEN strnlen
| ^
test-strncat.c:83:16: note: in expansion of macro ‘STRNLEN’
83 | size_t len = STRNLEN (src, n);
| ^~~~~~~
In all werror cases, the call to strnlen (.., SIZE_MAX) is inlined.
Therefore this patch just marks the do_one_test function as noinline.
Reviewed-by: Wilco Dijkstra <Wilco.Dijkstra@arm.com>
Diffstat (limited to 'string')
-rw-r--r-- | string/test-strncat.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/string/test-strncat.c b/string/test-strncat.c index c0cde20..e71724d 100644 --- a/string/test-strncat.c +++ b/string/test-strncat.c @@ -69,6 +69,7 @@ SIMPLE_STRNCAT (CHAR *dst, const CHAR *src, size_t n) } static void +__attribute__((noinline)) do_one_test (impl_t *impl, CHAR *dst, const CHAR *src, size_t n) { size_t k = STRLEN (dst); |