diff options
Diffstat (limited to 'clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp')
-rw-r--r-- | clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp index d77af6a4fb2..f2afcca9710 100644 --- a/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp @@ -1934,6 +1934,11 @@ void MallocChecker::reportLeak(SymbolRef Sym, ExplodedNode *N, if (!CheckKind.hasValue()) return; + const RefState *RS = C.getState()->get<RegionState>(Sym); + assert(RS); + if (RS->getAllocationFamily() == AF_Alloca) + return; + assert(N); if (!BT_Leak[*CheckKind]) { BT_Leak[*CheckKind].reset( |