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]

[PATCH] Don't pass NULL pointer to error [BZ #24556]


GCC 9 with -O3 will issue a warning for passing NULL pointer to ‘%s':

In file included from ../include/bits/error.h:1,
                 from ../misc/error.h:57,
                 from ../include/error.h:2,
                 from bench-string.h:60,
                 from bench-strstr.c:22:
In function ‘error’,
    inlined from ‘do_one_test’ at bench-strstr.c:149:7,
    inlined from ‘do_test’ at bench-strstr.c:201:5,
    inlined from ‘test_main’ at bench-strstr.c:220:2:
../include/bits/../../misc/bits/error.h:42:5: error: ‘%s’ directive argument is null [-Werror=format-overflow=]
   42 |     __error_alias (__status, __errnum, __format, __va_arg_pack ());
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘error’,
    inlined from ‘do_one_test’ at bench-strstr.c:149:7,
    inlined from ‘do_test’ at bench-strstr.c:201:5,
    inlined from ‘test_main’ at bench-strstr.c:227:2:
../include/bits/../../misc/bits/error.h:42:5: error: ‘%s’ directive argument is null [-Werror=format-overflow=]
   42 |     __error_alias (__status, __errnum, __format, __va_arg_pack ());
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors

We can either disable -Werror=format-overflow= or don't pass NULL pointer
to error.  This patch does the latter.

	[BZ #24556]
	* benchtests/bench-strstr.c (do_one_test): Don't pass NULL
	pointer to error.
---
 benchtests/bench-strstr.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/benchtests/bench-strstr.c b/benchtests/bench-strstr.c
index b4cd141083..104dd979f0 100644
--- a/benchtests/bench-strstr.c
+++ b/benchtests/bench-strstr.c
@@ -147,7 +147,7 @@ do_one_test (impl_t *impl, const char *s1, const char *s2, char *exp_result)
   if (res != exp_result)
     {
       error (0, 0, "Wrong result in function %s %s %s", impl->name,
-	     res, exp_result);
+	     res, exp_result ? exp_result : "(null)");
       ret = 1;
     }
 }
-- 
2.20.1


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