diff options
author | Gabor Horvath <xazax.hun@gmail.com> | 2015-08-27 18:49:07 +0000 |
---|---|---|
committer | Gabor Horvath <xazax.hun@gmail.com> | 2015-08-27 18:49:07 +0000 |
commit | 8d3ad6b6171531f258d26a250ccf26ecdea96430 (patch) | |
tree | 8d885a3884955b1610a412cf8cd6aa7d2167077b /clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp | |
parent | 8251f978d37608441f3270957f3c44caaf2cc2ba (diff) | |
download | bcm5719-llvm-8d3ad6b6171531f258d26a250ccf26ecdea96430.tar.gz bcm5719-llvm-8d3ad6b6171531f258d26a250ccf26ecdea96430.zip |
[Static Analyzer] Make NonNullParamChecker emit implicit null dereference events.
Differential Revision: http://reviews.llvm.org/D11433
llvm-svn: 246182
Diffstat (limited to 'clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp')
-rw-r--r-- | clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp index cf9d9f74385..07be5a59e51 100644 --- a/clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp @@ -220,7 +220,8 @@ void DereferenceChecker::checkLocation(SVal l, bool isLoad, const Stmt* S, // null or not-null. Record the error node as an "implicit" null // dereference. if (ExplodedNode *N = C.generateSink(nullState)) { - ImplicitNullDerefEvent event = { l, isLoad, N, &C.getBugReporter() }; + ImplicitNullDerefEvent event = {l, isLoad, N, &C.getBugReporter(), + /*IsDirectDereference=*/false}; dispatchEvent(event); } } @@ -257,8 +258,9 @@ void DereferenceChecker::checkBind(SVal L, SVal V, const Stmt *S, // At this point the value could be either null or non-null. // Record this as an "implicit" null dereference. if (ExplodedNode *N = C.generateSink(StNull)) { - ImplicitNullDerefEvent event = { V, /*isLoad=*/true, N, - &C.getBugReporter() }; + ImplicitNullDerefEvent event = {V, /*isLoad=*/true, N, + &C.getBugReporter(), + /*IsDirectDereference=*/false}; dispatchEvent(event); } } |