]> granicus.if.org Git - clang/commit
[analyzer] Add missing return after function pointer null check.
authorJordan Rose <jordan_rose@apple.com>
Wed, 2 Oct 2013 01:20:28 +0000 (01:20 +0000)
committerJordan Rose <jordan_rose@apple.com>
Wed, 2 Oct 2013 01:20:28 +0000 (01:20 +0000)
commit7453624b98817f06d28ed2abe39c98805cfec623
treeaf0cc6a2ad99c56f8f2e937e99e96963b40b3b0e
parent865750e2be4833eb904d8f54d23a8078ac9309dd
[analyzer] Add missing return after function pointer null check.

Also add some tests that there is actually a message and that the bug is
actually a hard error. This actually behaved correctly before, because:

- addTransition() doesn't actually add a transition if the new state is null;
  it assumes you want to propagate the predecessor forward and does nothing.
- generateSink() is called in order to emit a bug report.
- If at least one new node has been generated, the predecessor node is /not/
  propagated forward.

But now it's spelled out explicitly.

Found by Richard Mazorodze, who's working on a patch that may require this.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191805 91177308-0d34-0410-b5e6-96231b3b80d8
lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp
test/Analysis/func.c