public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/96598] New: false NULL argument warning [-Wanalyzer-null-argument]
@ 2020-08-13  7:40 dpotapov at gmail dot com
  2020-08-13 20:41 ` [Bug analyzer/96598] " dmalcolm at gcc dot gnu.org
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: dpotapov at gmail dot com @ 2020-08-13  7:40 UTC (permalink / raw)
  To: gcc-bugs

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.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug analyzer/96598] false NULL argument warning [-Wanalyzer-null-argument]
  2020-08-13  7:40 [Bug c/96598] New: false NULL argument warning [-Wanalyzer-null-argument] dpotapov at gmail dot com
@ 2020-08-13 20:41 ` dmalcolm at gcc dot gnu.org
  2020-08-13 23:09 ` cvs-commit at gcc dot gnu.org
  2020-08-13 23:11 ` dmalcolm at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: dmalcolm at gcc dot gnu.org @ 2020-08-13 20:41 UTC (permalink / raw)
  To: gcc-bugs

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

David Malcolm <dmalcolm at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2020-08-13

--- Comment #1 from David Malcolm <dmalcolm at gcc dot gnu.org> ---
Thanks for filing this bug.  I can reproduce it, but it looks like I fixed it
in g:808f4dfeb3a95f50f15e71148e5c1067f90a126d (for GCC 11).

I'll close this out once I've added a regression test for it.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug analyzer/96598] false NULL argument warning [-Wanalyzer-null-argument]
  2020-08-13  7:40 [Bug c/96598] New: false NULL argument warning [-Wanalyzer-null-argument] dpotapov at gmail dot com
  2020-08-13 20:41 ` [Bug analyzer/96598] " dmalcolm at gcc dot gnu.org
@ 2020-08-13 23:09 ` cvs-commit at gcc dot gnu.org
  2020-08-13 23:11 ` dmalcolm at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-08-13 23:09 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by David Malcolm <dmalcolm@gcc.gnu.org>:

https://gcc.gnu.org/g:2ec32ddf822887cddc8910ed30dc105890def4ee

commit r11-2695-g2ec32ddf822887cddc8910ed30dc105890def4ee
Author: David Malcolm <dmalcolm@redhat.com>
Date:   Thu Aug 13 15:11:10 2020 -0400

    analyzer: add regression test [PR96598]

    PR analyzer/96598 reports that -fanalyzer issues a false
      warning: use of NULL 'str' where non-null expected
    with gcc 10.2 when used with -fsanitize=undefined.

    This was fixed by g:808f4dfeb3a95f50f15e71148e5c1067f90a126d.

    gcc/testsuite/ChangeLog:
            PR analyzer/96598
            * gcc.dg/analyzer/pr96598.c: New test.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug analyzer/96598] false NULL argument warning [-Wanalyzer-null-argument]
  2020-08-13  7:40 [Bug c/96598] New: false NULL argument warning [-Wanalyzer-null-argument] dpotapov at gmail dot com
  2020-08-13 20:41 ` [Bug analyzer/96598] " dmalcolm at gcc dot gnu.org
  2020-08-13 23:09 ` cvs-commit at gcc dot gnu.org
@ 2020-08-13 23:11 ` dmalcolm at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: dmalcolm at gcc dot gnu.org @ 2020-08-13 23:11 UTC (permalink / raw)
  To: gcc-bugs

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

David Malcolm <dmalcolm at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #3 from David Malcolm <dmalcolm at gcc dot gnu.org> ---
Regression test added by above commit.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-08-13 23:11 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-13  7:40 [Bug c/96598] New: false NULL argument warning [-Wanalyzer-null-argument] dpotapov at gmail dot com
2020-08-13 20:41 ` [Bug analyzer/96598] " dmalcolm at gcc dot gnu.org
2020-08-13 23:09 ` cvs-commit at gcc dot gnu.org
2020-08-13 23:11 ` dmalcolm at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).