diff options
author | Adhemerval Zanella Netto <adhemerval.zanella@linaro.org> | 2023-07-21 09:18:17 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2023-07-24 15:26:17 -0300 |
commit | c2dc8ab6a5a4e67f96ddd3f6bfdf2c991385ec38 (patch) | |
tree | b234bb8e1be55c408188d848a1c69a19fc0ba735 /string | |
parent | 85ac7edcdf67010c223541936243427213ac87a6 (diff) | |
download | glibc-c2dc8ab6a5a4e67f96ddd3f6bfdf2c991385ec38.zip glibc-c2dc8ab6a5a4e67f96ddd3f6bfdf2c991385ec38.tar.gz glibc-c2dc8ab6a5a4e67f96ddd3f6bfdf2c991385ec38.tar.bz2 |
string: Fix tester with fortify enabled
If fortify is enabled, the truncated output warning is issued by
the wrapper itself:
In function ‘strncpy’,
inlined from ‘test_strncpy’ at tester.c:505:10:
../string/bits/string_fortified.h:95:10: error: ‘__builtin_strncpy’
destination unchanged after copying no bytes from a string of length 3
[-Werror=stringop-truncation]
95 | return __builtin___strncpy_chk (__dest, __src, __len,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
96 | __glibc_objsize (__dest));
| ~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../include/bits/string_fortified.h:1,
from ../string/string.h:548,
from ../include/string.h:60,
from tester.c:33,
from inl-tester.c:6:
In function ‘strncpy’,
inlined from ‘test_strncpy’ at tester.c:505:10:
Checked on x86_64-linux-gnu.
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Diffstat (limited to 'string')
-rw-r--r-- | string/tester.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/string/tester.c b/string/tester.c index 8de70ad..da42c72 100644 --- a/string/tester.c +++ b/string/tester.c @@ -26,6 +26,14 @@ #undef __USE_STRING_INLINES #endif +#include <sys/cdefs.h> +#include <libc-diag.h> + +/* Triggered by strncpy fortify wrapper when it is enabled. */ +#if __GNUC_PREREQ (8, 0) +DIAG_IGNORE_NEEDS_COMMENT (8, "-Wstringop-truncation"); +#endif + #include <errno.h> #include <stdint.h> #include <stdio.h> @@ -33,7 +41,6 @@ #include <string.h> #include <strings.h> #include <fcntl.h> -#include <libc-diag.h> /* This file tests a range of corner cases of string functions, including cases where truncation occurs or where sizes specified @@ -45,9 +52,6 @@ DIAG_IGNORE_NEEDS_COMMENT (5.0, "-Wmemset-transposed-args"); DIAG_IGNORE_NEEDS_COMMENT (9, "-Wrestrict"); DIAG_IGNORE_NEEDS_COMMENT (7, "-Wstringop-overflow="); #endif -#if __GNUC_PREREQ (8, 0) -DIAG_IGNORE_NEEDS_COMMENT (8, "-Wstringop-truncation"); -#endif #if __GNUC_PREREQ (11, 0) DIAG_IGNORE_NEEDS_COMMENT (11, "-Wstringop-overread"); #endif |