]> git.ipfire.org Git - thirdparty/gcc.git/commit
analyzer: fix deref-before-check false positives due to inlining [PR112790]
authorDavid Malcolm <dmalcolm@redhat.com>
Thu, 4 Jan 2024 14:15:18 +0000 (09:15 -0500)
committerDavid Malcolm <dmalcolm@redhat.com>
Thu, 4 Jan 2024 14:15:18 +0000 (09:15 -0500)
commit5743e1899d596497800f7d6f4273d535ea0abcdd
tree89e1b499f39b36abef5eecc24455c1ddcdb4ca3a
parentdb5b01d282a0e3ddcac737e55f9758c8b081cf4b
analyzer: fix deref-before-check false positives due to inlining [PR112790]

gcc/analyzer/ChangeLog:
PR analyzer/112790
* checker-event.cc (class inlining_info): Move to...
* inlining-iterator.h (class inlining_info): ...here.
* sm-malloc.cc: Include "analyzer/inlining-iterator.h".
(maybe_complain_about_deref_before_check): Reject stmts that were
inlined from another function.

gcc/testsuite/ChangeLog:
PR analyzer/112790
* c-c++-common/analyzer/deref-before-check-pr112790.c: New test.

Signed-off-by: David Malcolm <dmalcolm@redhat.com>
gcc/analyzer/checker-event.cc
gcc/analyzer/inlining-iterator.h
gcc/analyzer/sm-malloc.cc
gcc/testsuite/c-c++-common/analyzer/deref-before-check-pr112790.c [new file with mode: 0644]