This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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.  Committed.

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.

diff --git a/posix/bug-regex22.c b/posix/bug-regex22.c
index 2c561d8e43..73b222cbff 100644
--- a/posix/bug-regex22.c
+++ b/posix/bug-regex22.c
@@ -99,8 +99,8 @@ main (void)
   s = re_compile_pattern ("[[:DIGIT:]]", 11, &re);
   if (s == NULL)
     {
-      printf ("compilation of \"[[:DIGIT:]]\" pattern unexpectedly succeeded: %s\n",
-	      s);
+      puts ("compilation of \"[[:DIGIT:]]\" pattern unexpectedly succeeded: "
+	    "length 11");
       result = 1;
     }
 
@@ -109,8 +109,8 @@ main (void)
   s = re_compile_pattern ("[[:DIGIT:]]", 2, &re);
   if (s == NULL)
     {
-      printf ("compilation of \"[[:DIGIT:]]\" pattern unexpectedly succeeded: %s\n",
-	      s);
+      puts ("compilation of \"[[:DIGIT:]]\" pattern unexpectedly succeeded: "
+	    "length 2");
       result = 1;
     }
 

-- 
Joseph S. Myers
joseph@codesourcery.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]