glibc/glibc-upstream-2.34-378.patch

87 lines
3.2 KiB
Diff
Raw Normal View History

commit 6ff61a51459d141782fbcc32ae81c0ef1954dad6
Author: Joseph Myers <joseph@codesourcery.com>
Date: Mon Oct 4 19:10:43 2021 +0000
Fix stdio-common tests for GCC 12 -Waddress
My glibc bot shows failures building the testsuite with GCC mainline
across all architectures:
tst-vfprintf-width-prec.c: In function 'do_test':
tst-vfprintf-width-prec.c:90:16: error: the comparison will always evaluate as 'false' for the address of 'result' will never be NULL [-Werror=address]
90 | if (result == NULL)
| ^~
tst-vfprintf-width-prec.c:89:13: note: 'result' declared here
89 | wchar_t result[100];
| ^~~~~~
This is clearly a correct warning; the comparison against NULL is
clearly a cut-and-paste mistake from an earlier case in the test that
does use calloc. Thus, remove the unnecessary check for NULL shown up
by the warning.
Similarly, two other tests have bogus comparisons against NULL; remove
those as well:
scanf14a.c:95:13: error: the comparison will always evaluate as 'false' for the address of 'fname' will never be NULL [-Werror=address]
95 | if (fname == NULL)
| ^~
scanf14a.c:93:8: note: 'fname' declared here
93 | char fname[strlen (tmpdir) + sizeof "/tst-scanf14.XXXXXX"];
| ^~~~~
scanf16a.c:125:13: error: the comparison will always evaluate as 'false' for the address of 'fname' will never be NULL [-Werror=address]
125 | if (fname == NULL)
| ^~
scanf16a.c:123:8: note: 'fname' declared here
123 | char fname[strlen (tmpdir) + sizeof "/tst-scanf16.XXXXXX"];
| ^~~~~
Tested with build-many-glibcs.py (GCC mainline) for aarch64-linux-gnu.
(cherry picked from commit a312e8fe6d89f5eae6a4583d5db577121e61c0b5)
diff --git a/stdio-common/scanf14a.c b/stdio-common/scanf14a.c
index 12adcff5a4970da1..b37712d1c673fa3a 100644
--- a/stdio-common/scanf14a.c
+++ b/stdio-common/scanf14a.c
@@ -92,8 +92,6 @@ main (void)
char fname[strlen (tmpdir) + sizeof "/tst-scanf14.XXXXXX"];
sprintf (fname, "%s/tst-scanf14.XXXXXX", tmpdir);
- if (fname == NULL)
- FAIL ();
/* Create a temporary file. */
int fd = mkstemp (fname);
diff --git a/stdio-common/scanf16a.c b/stdio-common/scanf16a.c
index 400d85a54e81c3cb..74d0295c97f73b14 100644
--- a/stdio-common/scanf16a.c
+++ b/stdio-common/scanf16a.c
@@ -122,8 +122,6 @@ main (void)
char fname[strlen (tmpdir) + sizeof "/tst-scanf16.XXXXXX"];
sprintf (fname, "%s/tst-scanf16.XXXXXX", tmpdir);
- if (fname == NULL)
- FAIL ();
/* Create a temporary file. */
int fd = mkstemp (fname);
diff --git a/stdio-common/tst-vfprintf-width-prec.c b/stdio-common/tst-vfprintf-width-prec.c
index 3192fd797ad4ea90..278d57f739f576e9 100644
--- a/stdio-common/tst-vfprintf-width-prec.c
+++ b/stdio-common/tst-vfprintf-width-prec.c
@@ -87,12 +87,6 @@ do_test (void)
}
{
wchar_t result[100];
- if (result == NULL)
- {
- printf ("error: calloc (%d, %zu): %m", ret + 1, sizeof (wchar_t));
- return 1;
- }
-
ret = swprintf (result, 100, L"%133000.999999999x", 17);
if (ret >= 0)
{