diff options
author | Bruno Haible <bruno@clisp.org> | 2023-03-27 15:13:41 +0200 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2023-03-27 15:13:41 +0200 |
commit | 5a9a1ea612598404bca0e4c5dbb9505ed36fd11d (patch) | |
tree | 6331f88f2457a81fe49bdd8d064005a33c17b0f0 /tests | |
parent | 0569f76e2f67cba9a565c59486aac0dbebb9ac9a (diff) | |
download | gnulib-5a9a1ea612598404bca0e4c5dbb9505ed36fd11d.tar.gz |
Add test case from a past musl libc bug.
* tests/test-strstr.c (main): Add test of periodic needle.
* tests/test-strcasestr.c (main): Likewise.
* tests/test-c-strstr.c (main): Likewise.
* tests/test-c-strcasestr.c (main): Likewise.
* tests/test-memmem.c (main): Likewise.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test-c-strcasestr.c | 8 | ||||
-rw-r--r-- | tests/test-c-strstr.c | 8 | ||||
-rw-r--r-- | tests/test-memmem.c | 8 | ||||
-rw-r--r-- | tests/test-strcasestr.c | 8 | ||||
-rw-r--r-- | tests/test-strstr.c | 8 |
5 files changed, 40 insertions, 0 deletions
diff --git a/tests/test-c-strcasestr.c b/tests/test-c-strcasestr.c index 818f5a994b..4f0a6c262a 100644 --- a/tests/test-c-strcasestr.c +++ b/tests/test-c-strcasestr.c @@ -238,6 +238,14 @@ main () free (haystack); } + /* Test case from Yves Bastide. + <https://www.openwall.com/lists/musl/2014/04/18/2> */ + { + const char input[] = "playing PLAY play PLAY always"; + const char *result = c_strcasestr (input, "play PLAY play"); + ASSERT (result == input + 8); + } + /* Test long needles. */ { size_t m = 1024; diff --git a/tests/test-c-strstr.c b/tests/test-c-strstr.c index d8f8465b29..30070d70a4 100644 --- a/tests/test-c-strstr.c +++ b/tests/test-c-strstr.c @@ -212,6 +212,14 @@ main () free (haystack); } + /* Test case from Yves Bastide. + <https://www.openwall.com/lists/musl/2014/04/18/2> */ + { + const char input[] = "playing play play play always"; + const char *result = c_strstr (input, "play play play"); + ASSERT (result == input + 8); + } + /* Test long needles. */ { size_t m = 1024; diff --git a/tests/test-memmem.c b/tests/test-memmem.c index 0daf3b07e7..589210f4a2 100644 --- a/tests/test-memmem.c +++ b/tests/test-memmem.c @@ -292,6 +292,14 @@ main (int argc, char *argv[]) free (haystack); } + /* Test case from Yves Bastide. + <https://www.openwall.com/lists/musl/2014/04/18/2> */ + { + const char input[] = "playing play play play always"; + const char *result = memmem (input, strlen (input), "play play play", 14); + ASSERT (result == input + 8); + } + /* Test long needles. */ { size_t m = 1024; diff --git a/tests/test-strcasestr.c b/tests/test-strcasestr.c index 192e1569f8..c0f5111b4a 100644 --- a/tests/test-strcasestr.c +++ b/tests/test-strcasestr.c @@ -252,6 +252,14 @@ main () free (haystack); } + /* Test case from Yves Bastide. + <https://www.openwall.com/lists/musl/2014/04/18/2> */ + { + const char input[] = "playing PLAY play PLAY always"; + const char *result = strcasestr (input, "play PLAY play"); + ASSERT (result == input + 8); + } + /* Test long needles. */ { size_t m = 1024; diff --git a/tests/test-strstr.c b/tests/test-strstr.c index b2e00c526c..1ff9953d31 100644 --- a/tests/test-strstr.c +++ b/tests/test-strstr.c @@ -275,6 +275,14 @@ main (int argc, char *argv[]) free (haystack); } + /* Test case from Yves Bastide. + <https://www.openwall.com/lists/musl/2014/04/18/2> */ + { + const char input[] = "playing play play play always"; + const char *result = strstr (input, "play play play"); + ASSERT (result == input + 8); + } + /* Test long needles. */ { size_t m = 1024; |