summaryrefslogtreecommitdiff
path: root/lib/replace
diff options
context:
space:
mode:
authorAndreas Schneider <asn@samba.org>2021-05-06 19:07:04 +0200
committerAndreas Schneider <asn@cryptomilk.org>2021-05-07 06:23:32 +0000
commit8f12793ca5e7c9aa7c23a17400986878ae110e70 (patch)
tree1a1432dd567ca8a556e01329b090f205e1ca4e53 /lib/replace
parent17ae9974f36ce8929f0c50c357dd4f88fbf37d7c (diff)
downloadsamba-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.c11
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;