summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2022-03-24 18:08:41 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2023-02-09 16:36:05 -0300
commit4e72015f44818223d5da36cee6f540260a950452 (patch)
tree4c28850acd1b79edd381df1d9e51efa2894de98e
parent28926f258932b829f1da0756ddc11c7d259c5595 (diff)
downloadglibc-4e72015f44818223d5da36cee6f540260a950452.tar.gz
string: Suppress clang -Wsuspicious-bzero on tester
-rw-r--r--string/tester.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/string/tester.c b/string/tester.c
index 8de70ad3ce..a682bac073 100644
--- a/string/tester.c
+++ b/string/tester.c
@@ -371,28 +371,48 @@ test_strncat (void)
mechanism. */
it = "strncat";
(void) strcpy (one, "ijk");
+ /* clang complains that size argument is too large for the destination
+ buffer. */
+ DIAG_PUSH_NEEDS_COMMENT_CLANG;
+ DIAG_IGNORE_NEEDS_COMMENT_CLANG (13, "-Wfortify-source");
check (strncat (one, "lmn", 99) == one, 1); /* Returned value. */
+ DIAG_POP_NEEDS_COMMENT_CLANG;
equal (one, "ijklmn", 2); /* Basic test. */
(void) strcpy (one, "x");
+ DIAG_PUSH_NEEDS_COMMENT_CLANG;
+ DIAG_IGNORE_NEEDS_COMMENT_CLANG (13, "-Wfortify-source");
(void) strncat (one, "yz", 99);
+ DIAG_POP_NEEDS_COMMENT_CLANG;
equal (one, "xyz", 3); /* Writeover. */
equal (one+4, "mn", 4); /* Wrote too much? */
(void) strcpy (one, "gh");
(void) strcpy (two, "ef");
+ DIAG_PUSH_NEEDS_COMMENT_CLANG;
+ DIAG_IGNORE_NEEDS_COMMENT_CLANG (13, "-Wfortify-source");
(void) strncat (one, two, 99);
+ DIAG_POP_NEEDS_COMMENT_CLANG;
equal (one, "ghef", 5); /* Basic test encore. */
equal (two, "ef", 6); /* Stomped on source? */
(void) strcpy (one, "");
+ DIAG_PUSH_NEEDS_COMMENT_CLANG;
+ DIAG_IGNORE_NEEDS_COMMENT_CLANG (13, "-Wfortify-source");
(void) strncat (one, "", 99);
+ DIAG_POP_NEEDS_COMMENT_CLANG;
equal (one, "", 7); /* Boundary conditions. */
(void) strcpy (one, "ab");
+ DIAG_PUSH_NEEDS_COMMENT_CLANG;
+ DIAG_IGNORE_NEEDS_COMMENT_CLANG (13, "-Wfortify-source");
(void) strncat (one, "", 99);
+ DIAG_POP_NEEDS_COMMENT_CLANG;
equal (one, "ab", 8);
(void) strcpy (one, "");
+ DIAG_PUSH_NEEDS_COMMENT_CLANG;
+ DIAG_IGNORE_NEEDS_COMMENT_CLANG (13, "-Wfortify-source");
(void) strncat (one, "cd", 99);
+ DIAG_POP_NEEDS_COMMENT_CLANG;
equal (one, "cd", 9);
(void) strcpy (one, "ab");
@@ -405,7 +425,10 @@ test_strncat (void)
(void) strncat (one, "gh", 2);
equal (one, "abcdgh", 12); /* Count and length equal. */
+ DIAG_PUSH_NEEDS_COMMENT_CLANG;
+ DIAG_IGNORE_NEEDS_COMMENT_CLANG (13, "-Wfortify-source");
(void) strncat (one, "ij", (size_t)-1); /* set sign bit in count */
+ DIAG_POP_NEEDS_COMMENT_CLANG;
equal (one, "abcdghij", 13);
int ntest = 14;
@@ -1409,7 +1432,12 @@ test_bzero (void)
equal(one+4, "ef", 3);
(void) strcpy(one, "abcdef");
+
+ DIAG_PUSH_NEEDS_COMMENT_CLANG;
+ /* clang complains about the 0 size argument for bzero. */
+ DIAG_IGNORE_NEEDS_COMMENT_CLANG (13, "-Wsuspicious-bzero");
bzero(one+2, 0);
+ DIAG_POP_NEEDS_COMMENT_CLANG
equal(one, "abcdef", 4); /* Zero-length copy. */
}