[Bug c/96598] New: false NULL argument warning [-Wanalyzer-null-argument]

dpotapov at gmail dot com gcc-bugzilla@gcc.gnu.org
Thu Aug 13 07:40:59 GMT 2020


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96598

            Bug ID: 96598
           Summary: false NULL argument warning [-Wanalyzer-null-argument]
           Product: gcc
           Version: 10.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dpotapov at gmail dot com
  Target Milestone: ---

Created attachment 49054
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=49054&action=edit
C code to demonstrate the problem

A function receives an argument that is marked as non-NULL using  __attribute__
((__nonnull__ ())), and it uses this argument to invoke another function that
also takes a non-NULL argument. The first invocation does NOT produce any
warning as expected, but the second one does:

test.c:67:9: warning: use of NULL ‘str’ where non-null expected [CWE-690]
[-Wanalyzer-null-argument]

It looks strange considering the argument has not changed anywhere in the
function. Also, it looks like the warning is triggered by defining an unrelated
local variable. The warning happens only when the source code is compiled with
'-fanalyzer -fsanitize=undefined'.

The attached C file demonstrates the problem.


More information about the Gcc-bugs mailing list