diff options
author | Andreas Schneider <asn@samba.org> | 2021-05-06 19:07:04 +0200 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2021-05-07 06:23:32 +0000 |
commit | 8f12793ca5e7c9aa7c23a17400986878ae110e70 (patch) | |
tree | 1a1432dd567ca8a556e01329b090f205e1ca4e53 /lib/replace | |
parent | 17ae9974f36ce8929f0c50c357dd4f88fbf37d7c (diff) | |
download | samba-8f12793ca5e7c9aa7c23a17400986878ae110e70.tar.gz |
lib:replace: Do not build strndup test with gcc 11 or newer
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14699
gcc11 with -O3 detects that the size is incorrect:
lib/replace/tests/testsuite.c:286:13: error: ‘strndup’ specified bound 10 exceeds source size 4 [-Werror=stringop-overread]
286 | x = strndup("bla", 10);
| ^~~~~~~~~~~~~~~~~~
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
Diffstat (limited to 'lib/replace')
-rw-r--r-- | lib/replace/tests/testsuite.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/replace/tests/testsuite.c b/lib/replace/tests/testsuite.c index ce344d6549e..b4b038af8c7 100644 --- a/lib/replace/tests/testsuite.c +++ b/lib/replace/tests/testsuite.c @@ -283,6 +283,15 @@ static int test_strndup(void) return false; } +#ifdef __GNUC__ +# if __GNUC__ < 11 + /* + * This code will not compile with gcc11 -O3 anymore. + * + * error: ‘strndup’ specified bound 10 exceeds source size 4 [-Werror=stringop-overread] + * x = strndup("bla", 10); + * ^~~~~~~~~~~~~~~~~~ + */ x = strndup("bla", 10); cmp = strcmp(x, "bla"); free(x); @@ -290,6 +299,8 @@ static int test_strndup(void) printf("failure: strndup [\ninvalid\n]\n"); return false; } +# endif +#endif /* __GNUC__ */ printf("success: strndup\n"); return true; |