From: Paul Eggert Date: Mon, 19 Apr 2021 04:18:00 +0000 (-0700) Subject: malloc-gnu-tests: pacify -Walloc-size-larger-than X-Git-Tag: v1.0~2928 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9b8db75dbe7c33d5dc7eccee84f80c17c18223c1;p=thirdparty%2Fgnulib.git malloc-gnu-tests: pacify -Walloc-size-larger-than * tests/test-malloc-gnu.c (main): * tests/test-realloc-gnu.c (main): Hide true intentions from GCC, to prevent diagnostics like “warning: argument 1 value ‘9223372036854775808’ exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]”. --- diff --git a/ChangeLog b/ChangeLog index 2c7edd59ab..0146e15944 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,12 @@ 2021-04-18 Paul Eggert + malloc-gnu-tests: pacify -Walloc-size-larger-than + * tests/test-malloc-gnu.c (main): + * tests/test-realloc-gnu.c (main): Hide true intentions from GCC, + to prevent diagnostics like “warning: argument 1 value + ‘9223372036854775808’ exceeds maximum object size + 9223372036854775807 [-Walloc-size-larger-than=]”. + safe-alloc: fix pointer implementation The old implementation assumed that all pointers use the same internal representation, but the C standard doesn’t guarantee diff --git a/tests/test-malloc-gnu.c b/tests/test-malloc-gnu.c index ce7e4fec2a..e1dfde452c 100644 --- a/tests/test-malloc-gnu.c +++ b/tests/test-malloc-gnu.c @@ -20,7 +20,7 @@ #include int -main () +main (int argc, char **argv) { /* Check that malloc (0) is not a NULL pointer. */ char *p = malloc (0); @@ -31,8 +31,8 @@ main () /* Check that malloc (n) fails when n exceeds PTRDIFF_MAX. */ if (PTRDIFF_MAX < SIZE_MAX) { - size_t n = PTRDIFF_MAX, n1 = n + 1; - if (malloc (n1) != NULL) + size_t one = argc != 12345; + if (malloc (PTRDIFF_MAX + one) != NULL) return 1; } diff --git a/tests/test-realloc-gnu.c b/tests/test-realloc-gnu.c index 9c7344f151..b62ee6badc 100644 --- a/tests/test-realloc-gnu.c +++ b/tests/test-realloc-gnu.c @@ -20,7 +20,7 @@ #include int -main () +main (int argc, char **argv) { /* Check that realloc (NULL, 0) is not a NULL pointer. */ char *p = realloc (NULL, 0); @@ -31,8 +31,8 @@ main () PTRDIFF_MAX. */ if (PTRDIFF_MAX < SIZE_MAX) { - size_t n = PTRDIFF_MAX, n1 = n + 1; - if (realloc (p, n1) != NULL) + size_t one = argc != 12345; + if (realloc (p, PTRDIFF_MAX + one) != NULL) return 1; }