summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2020-07-01 16:45:41 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2020-07-01 16:48:11 -0700
commit59eb037fc92e23bd6c6034b2a3343ac81f1bd318 (patch)
treeb690191e3ee62c30a9c6fa1e927e45af89fb9997
parenta0b286c0a5d50f2b52692f61f09e4500bcd98ebe (diff)
downloadgnulib-59eb037fc92e23bd6c6034b2a3343ac81f1bd318.tar.gz
gnulib-59eb037fc92e23bd6c6034b2a3343ac81f1bd318.tar.bz2
tests: pacify gcc -fanalyzer on zerosize_ptr
* tests/test-memcasecmp.c (main): * tests/test-memchr.c (main): * tests/test-memchr2.c (main): * tests/test-memcmp.c (main): * tests/test-memmem.c (main): * tests/test-memrchr.c (main): * tests/unistr/test-chr.h (main): * tests/unistr/test-cmp.h (test_cmp): Check whether zerosize_ptr returns NULL before using it. This pacifies GCC 10.1’s new fanalyzer option, and matches other uses of zerosize_ptr.
-rw-r--r--ChangeLog15
-rw-r--r--tests/test-memcasecmp.c5
-rw-r--r--tests/test-memchr.c4
-rw-r--r--tests/test-memchr2.c4
-rw-r--r--tests/test-memcmp.c5
-rw-r--r--tests/test-memmem.c22
-rw-r--r--tests/test-memrchr.c4
-rw-r--r--tests/unistr/test-chr.h4
-rw-r--r--tests/unistr/test-cmp.h5
9 files changed, 52 insertions, 16 deletions
diff --git a/ChangeLog b/ChangeLog
index 3cde294561..edb63b3487 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1 +1,16 @@
+2020-07-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ tests: pacify gcc -fanalyzer on zerosize_ptr
+ * tests/test-memcasecmp.c (main):
+ * tests/test-memchr.c (main):
+ * tests/test-memchr2.c (main):
+ * tests/test-memcmp.c (main):
+ * tests/test-memmem.c (main):
+ * tests/test-memrchr.c (main):
+ * tests/unistr/test-chr.h (main):
+ * tests/unistr/test-cmp.h (test_cmp):
+ Check whether zerosize_ptr returns NULL before using it.
+ This pacifies GCC 10.1’s new fanalyzer option, and matches
+ other uses of zerosize_ptr.
+
2020-07-01 Bruno Haible <bruno@clisp.org>
diff --git a/tests/test-memcasecmp.c b/tests/test-memcasecmp.c
index 00df2f7cf5..33507dc23e 100644
--- a/tests/test-memcasecmp.c
+++ b/tests/test-memcasecmp.c
@@ -30,3 +30,6 @@ main (void)
/* Test equal / not equal distinction. */
- ASSERT (memcasecmp (zerosize_ptr (), zerosize_ptr (), 0) == 0);
+ void *page_boundary1 = zerosize_ptr ();
+ void *page_boundary2 = zerosize_ptr ();
+ if (page_boundary1 && page_boundary2)
+ ASSERT (memcasecmp (page_boundary1, page_boundary2, 0) == 0);
ASSERT (memcasecmp ("foo", "foobar", 2) == 0);
diff --git a/tests/test-memchr.c b/tests/test-memchr.c
index ab8d2c0da0..d81bf3baf2 100644
--- a/tests/test-memchr.c
+++ b/tests/test-memchr.c
@@ -51,3 +51,5 @@ main (void)
ASSERT (MEMCHR (input, 'a', 0) == NULL);
- ASSERT (MEMCHR (zerosize_ptr (), 'a', 0) == NULL);
+ void *page_boundary = zerosize_ptr ();
+ if (page_boundary)
+ ASSERT (MEMCHR (page_boundary, 'a', 0) == NULL);
diff --git a/tests/test-memchr2.c b/tests/test-memchr2.c
index 47428f2151..8d5478919d 100644
--- a/tests/test-memchr2.c
+++ b/tests/test-memchr2.c
@@ -50,3 +50,5 @@ main (void)
ASSERT (MEMCHR2 (input, 'a', 'b', 0) == NULL);
- ASSERT (MEMCHR2 (zerosize_ptr (), 'a', 'b', 0) == NULL);
+ void *page_boundary = zerosize_ptr ();
+ if (page_boundary)
+ ASSERT (MEMCHR2 (page_boundary, 'a', 'b', 0) == NULL);
diff --git a/tests/test-memcmp.c b/tests/test-memcmp.c
index eaaac4531c..5b262aae79 100644
--- a/tests/test-memcmp.c
+++ b/tests/test-memcmp.c
@@ -33,3 +33,6 @@ main (void)
/* Test equal / not equal distinction. */
- ASSERT (memcmp (zerosize_ptr (), zerosize_ptr (), 0) == 0);
+ void *page_boundary1 = zerosize_ptr ();
+ void *page_boundary2 = zerosize_ptr ();
+ if (page_boundary1 && page_boundary2)
+ ASSERT (memcmp (page_boundary1, page_boundary2, 0) == 0);
ASSERT (memcmp ("foo", "foobar", 2) == 0);
diff --git a/tests/test-memmem.c b/tests/test-memmem.c
index 1c1e0ad392..132265f12c 100644
--- a/tests/test-memmem.c
+++ b/tests/test-memmem.c
@@ -75,12 +75,16 @@ main (int argc, char *argv[])
/* Check that length 0 does not dereference the pointer. */
- {
- const char *result = memmem (zerosize_ptr (), 0, "foo", 3);
- ASSERT (result == NULL);
- }
+ void *page_boundary = zerosize_ptr ();
+ if (page_boundary)
+ {
+ {
+ const char *result = memmem (page_boundary, 0, "foo", 3);
+ ASSERT (result == NULL);
+ }
- {
- const char input[] = "foo";
- const char *result = memmem (input, strlen (input), zerosize_ptr (), 0);
- ASSERT (result == input);
- }
+ {
+ const char input[] = "foo";
+ const char *result = memmem (input, strlen (input), page_boundary, 0);
+ ASSERT (result == input);
+ }
+ }
diff --git a/tests/test-memrchr.c b/tests/test-memrchr.c
index 001134bb27..235fb6948f 100644
--- a/tests/test-memrchr.c
+++ b/tests/test-memrchr.c
@@ -51,3 +51,5 @@ main (void)
ASSERT (MEMRCHR (input, 'a', 0) == NULL);
- ASSERT (MEMRCHR (zerosize_ptr (), 'a', 0) == NULL);
+ void *page_boundary = zerosize_ptr ();
+ if (page_boundary)
+ ASSERT (MEMRCHR (page_boundary, 'a', 0) == NULL);
diff --git a/tests/unistr/test-chr.h b/tests/unistr/test-chr.h
index b67be48861..f60610f22b 100644
--- a/tests/unistr/test-chr.h
+++ b/tests/unistr/test-chr.h
@@ -50,3 +50,5 @@ main (void)
ASSERT (U_CHR (input, 0, 'a') == NULL);
- ASSERT (U_CHR (zerosize_ptr (), 0, 'a') == NULL);
+ void *page_boundary = zerosize_ptr ();
+ if (page_boundary)
+ ASSERT (U_CHR (page_boundary, 0, 'a') == NULL);
diff --git a/tests/unistr/test-cmp.h b/tests/unistr/test-cmp.h
index 38a5223f7a..207c59a775 100644
--- a/tests/unistr/test-cmp.h
+++ b/tests/unistr/test-cmp.h
@@ -22,3 +22,6 @@ test_cmp (void)
/* Test equal / not equal distinction. */
- ASSERT (U_CMP (zerosize_ptr (), zerosize_ptr (), 0) == 0);
+ void *page_boundary1 = zerosize_ptr ();
+ void *page_boundary2 = zerosize_ptr ();
+ if (page_boundary1 && page_boundary2)
+ ASSERT (U_CMP (page_boundary1, page_boundary2, 0) == 0);
{

Return to:

Send suggestions and report system problems to the System administrator.