Avoid printf ("%s", NULL) in posix/bug-regex22.c.

Building posix/bug-regex22.c fails with GCC mainline because of
-Wformat-overflow= warnings for NULL arguments to %s formats.

This is *not* testing how glibc handles such format arguments; in the
context of the messages in question it makes no sense to pass NULL to
such a %s format (the code passes s, inside "if (s == NULL)").  So
this patch changes the code not to pass such a format argument at all
(which means the string passed is constant, so no need to use printf
at all - however, there are two separate tests here with different
length arguments passed to re_compile_pattern, so it *does* make sense
to make the strings used different so that in the event of failure
it's clear which one of the tests failed).

Tested with build-many-glibcs.py with GCC mainline for
aarch64-linux-gnu.

	* posix/bug-regex22.c (main): Use puts with distinct error
	messages for unexpected success of re_compile_pattern, not printf
	with NULL argument to %s.
This commit is contained in:
Joseph Myers 2018-11-01 17:20:27 +00:00
parent 6f30e59fc9
commit eac4405af0
2 changed files with 8 additions and 4 deletions

View File

@ -1,5 +1,9 @@
2018-11-01 Joseph Myers <joseph@codesourcery.com> 2018-11-01 Joseph Myers <joseph@codesourcery.com>
* posix/bug-regex22.c (main): Use puts with distinct error
messages for unexpected success of re_compile_pattern, not printf
with NULL argument to %s.
* stdio-common/bug22.c: Include <libc-diag.h>. * stdio-common/bug22.c: Include <libc-diag.h>.
(do_test): Disable -Wformat-overflow= warnings around fprintf (do_test): Disable -Wformat-overflow= warnings around fprintf
calls outputting more than INT_MAX characters. calls outputting more than INT_MAX characters.

View File

@ -99,8 +99,8 @@ main (void)
s = re_compile_pattern ("[[:DIGIT:]]", 11, &re); s = re_compile_pattern ("[[:DIGIT:]]", 11, &re);
if (s == NULL) if (s == NULL)
{ {
printf ("compilation of \"[[:DIGIT:]]\" pattern unexpectedly succeeded: %s\n", puts ("compilation of \"[[:DIGIT:]]\" pattern unexpectedly succeeded: "
s); "length 11");
result = 1; result = 1;
} }
@ -109,8 +109,8 @@ main (void)
s = re_compile_pattern ("[[:DIGIT:]]", 2, &re); s = re_compile_pattern ("[[:DIGIT:]]", 2, &re);
if (s == NULL) if (s == NULL)
{ {
printf ("compilation of \"[[:DIGIT:]]\" pattern unexpectedly succeeded: %s\n", puts ("compilation of \"[[:DIGIT:]]\" pattern unexpectedly succeeded: "
s); "length 2");
result = 1; result = 1;
} }