[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