bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug #57277] FAIL: test-canonicalize-lgpl with GCC 10


From: Martin Liška
Subject: [bug #57277] FAIL: test-canonicalize-lgpl with GCC 10
Date: Thu, 21 Nov 2019 04:37:45 -0500 (EST)
User-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36

Follow-up Comment #3, bug #57277 (project findutils):


[comment #1 comment #1:]
> First of all, the fix for this should go into gnulib --> adding their ML.
> 
> Then, this test actually wants to verify the behavior of that
> function when called with a NULL value (it should return NULL
> and set errno to EINVAL).
> Therefore, the test needs to suppress that specific sanitizer
> error.

No, it's not a sanitizer error, it's an error in gnulib code. One can't
decorate a function with nonnull attribute and then call the function
with NULL. Doing that, an optimizing compiler can do aggressive
optimizations.
So either the function canonicalize_file_name should accept (and handle
NULL),
then remove the nonnull attribute, or it can't and then one can't call
the function with NULL.
Thanks.

 I don't have a GCC 10, so does something like the
> following work?
> 
> 
> a/tests/test-canonicalize-lgpl.c b/tests/test-canonicalize-lgpl.c
> index 4ce06e46c..4e7d47c57 100644
> --- a/tests/test-canonicalize-lgpl.c
> +++ b/tests/test-canonicalize-lgpl.c
> @@ -39,6 +39,9 @@ SIGNATURE_CHECK (canonicalize_file_name, char *, (const
char *));
>  
>  #define BASE "t-can-lgpl.tmp"
>  
> +/* Suppress -fsanitize=null error - seen on GCC 10 - for this test.  */
> +extern char *canonicalize_file_name (const char *)
__attribute__((no_sanitize("null")));
> +
>  int
>  main (void)
>  {
> 

    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?57277>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]