llvm-project/clang/lib/StaticAnalyzer/Core
Anna Zaks fe1eca5169 [analyzer] Assume escape is possible through system functions taking void*
The analyzer assumes that system functions will not free memory or modify the
arguments in other ways, so we assume that arguments do not escape when
those are called. However, this may lead to false positive leak errors. For
example, in code like this where the pointers added to the rb_tree are freed
later on:

		struct alarm_event *e = calloc(1, sizeof(*e));
<snip>

		rb_tree_insert_node(&alarm_tree, e);

Add a heuristic to assume that calls to system functions taking void*
arguments allow for pointer escape.

llvm-svn: 251449
2015-10-27 20:19:45 +00:00
..
APSIntType.cpp [analyzer] Teach constraint managers about unsigned comparisons. 2013-03-23 01:21:33 +00:00
AnalysisManager.cpp [analyzer] Apply whitespace cleanups by Honggyu Kim. 2015-09-08 03:50:52 +00:00
AnalyzerOptions.cpp [Static Analyzer] Properly cash the configuration option for lambda support. 2015-09-11 21:19:39 +00:00
BasicValueFactory.cpp Fix a crash by division by zero in analyzer 2015-06-25 14:06:02 +00:00
BlockCounter.cpp [analyzer] Apply whitespace cleanups by Honggyu Kim. 2015-09-08 03:50:52 +00:00
BugReporter.cpp Roll-back r250822. 2015-10-20 13:23:58 +00:00
BugReporterVisitors.cpp SourceRanges are small and trivially copyable, don't them by reference. 2015-10-04 04:53:55 +00:00
CMakeLists.txt [analyzer] Bug identification 2015-10-22 11:53:04 +00:00
CallEvent.cpp [analyzer] Assume escape is possible through system functions taking void* 2015-10-27 20:19:45 +00:00
Checker.cpp [analyzer] Apply whitespace cleanups by Honggyu Kim. 2015-09-08 03:50:52 +00:00
CheckerContext.cpp Rename the non-coding style conformant functions in namespace Builtins 2015-08-06 01:01:12 +00:00
CheckerHelpers.cpp Rewrite users of Stmt::child_begin/end into for-range loops. 2015-07-03 15:12:24 +00:00
CheckerManager.cpp Silencing a -Wreturn-type warning; NFC. 2015-09-15 14:11:32 +00:00
CheckerRegistry.cpp [analyzer] Apply whitespace cleanups by Honggyu Kim. 2015-09-08 03:50:52 +00:00
CommonBugCategories.cpp [analyzer] Replace bug category magic strings with shared constants, take 2. 2013-10-04 00:25:24 +00:00
ConstraintManager.cpp Roll-back r250822. 2015-10-20 13:23:58 +00:00
CoreEngine.cpp Roll-back r250822. 2015-10-20 13:23:58 +00:00
DynamicTypeMap.cpp [Static Analyzer] Properly clean up the dynamic type information for dead regions. 2015-09-11 17:19:57 +00:00
Environment.cpp Analyzer: Teach analyzer how to handle TypeTraitExpr 2015-09-22 19:33:15 +00:00
ExplodedGraph.cpp Roll-back r250822. 2015-10-20 13:23:58 +00:00
ExprEngine.cpp [analyzer] Fix lambdas that are capturing constants. 2015-10-27 13:46:39 +00:00
ExprEngineC.cpp [analyzer] Apply whitespace cleanups by Honggyu Kim. 2015-09-08 03:50:52 +00:00
ExprEngineCXX.cpp [Static Analyzer] Lambda support. 2015-09-11 16:55:01 +00:00
ExprEngineCallAndReturn.cpp [analyzer] Add -analyzer-config option for function size the inliner considers as large 2015-09-11 20:14:05 +00:00
ExprEngineObjC.cpp [analyzer] Restore behavior change introduced by r247657. 2015-09-15 03:28:27 +00:00
FunctionSummary.cpp [analyzer] Use inline storage in the FunctionSummary DenseMap. 2013-04-02 00:26:26 +00:00
HTMLDiagnostics.cpp [analyzer] Bug identification 2015-10-22 11:53:04 +00:00
IssueHash.cpp [StaticAnalyzer] Use llvm::utostr and not to_string. 2015-10-23 16:43:18 +00:00
Makefile [analyzer] Apply whitespace cleanups by Honggyu Kim. 2015-09-08 03:50:52 +00:00
MemRegion.cpp [analyzer] Fix another crash when analyzing lambda functions. 2015-10-27 12:36:26 +00:00
PathDiagnostic.cpp Roll-back r250822. 2015-10-20 13:23:58 +00:00
PlistDiagnostics.cpp [analyzer] Bug identification 2015-10-22 11:53:04 +00:00
PrettyStackTraceLocationContext.h Revert r240270 ("Fixed/added namespace ending comments using clang-tidy"). 2015-06-22 23:07:51 +00:00
ProgramState.cpp [Static Analyzer] Properly clean up the dynamic type information for dead regions. 2015-09-11 17:19:57 +00:00
RangeConstraintManager.cpp [analyzer] Create one state for a range switch case instead of multiple. 2015-09-22 20:31:19 +00:00
RegionStore.cpp [analyzer] Add TK_EntireMemSpace invalidation trait. 2015-10-01 20:09:11 +00:00
SValBuilder.cpp Analyzer: Teach analyzer how to handle TypeTraitExpr 2015-09-22 19:33:15 +00:00
SVals.cpp [C++11] Use 'nullptr'. StaticAnalyzer edition. 2014-05-27 02:45:47 +00:00
SimpleConstraintManager.cpp Roll-back r250822. 2015-10-20 13:23:58 +00:00
SimpleConstraintManager.h [analyzer] Create one state for a range switch case instead of multiple. 2015-09-22 20:31:19 +00:00
SimpleSValBuilder.cpp Roll-back r250822. 2015-10-20 13:23:58 +00:00
Store.cpp Roll-back r250822. 2015-10-20 13:23:58 +00:00
SubEngine.cpp
SymbolManager.cpp [analyzer] Apply whitespace cleanups by Honggyu Kim. 2015-09-08 03:50:52 +00:00