diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2022-03-24 18:08:41 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2023-02-09 16:36:05 -0300 |
commit | 4e72015f44818223d5da36cee6f540260a950452 (patch) | |
tree | 4c28850acd1b79edd381df1d9e51efa2894de98e | |
parent | 28926f258932b829f1da0756ddc11c7d259c5595 (diff) | |
download | glibc-4e72015f44818223d5da36cee6f540260a950452.tar.gz |
string: Suppress clang -Wsuspicious-bzero on tester
-rw-r--r-- | string/tester.c | 28 |
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. */ } |