Go to the source code of this file.
◆ CASE
#define CASE |
( |
|
ID | ) |
case ID: OS << #ID; break; |
◆ REGISTER_CHECKER
#define REGISTER_CHECKER |
( |
|
name | ) |
|
Value:void ento::register##
name(CheckerManager &mgr) { \
MallocChecker *checker = mgr.getChecker<MallocChecker>(); \
checker->ChecksEnabled[MallocChecker::CK_##
name] =
true; \
checker->CheckNames[MallocChecker::CK_##
name] = mgr.getCurrentCheckName(); \
} \
\
return true; \
}
Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...
Definition at line 3147 of file MallocChecker.cpp.
◆ AllocationFamily
◆ ReallocPairKind
◆ checkIfNewOrNewArrayFamily()
static bool checkIfNewOrNewArrayFamily |
( |
const RefState * |
RS | ) |
|
|
static |
◆ didPreviousFreeFail()
static bool didPreviousFreeFail |
( |
ProgramStateRef |
State, |
|
|
SymbolRef |
Sym, |
|
|
SymbolRef & |
RetStatusSymbol |
|
) |
| |
|
static |
Checks if the previous call to free on the given symbol failed - if free failed, returns true.
Also, returns the corresponding return value symbol.
Definition at line 1364 of file MallocChecker.cpp.
◆ findFailedReallocSymbol()
static SymbolRef findFailedReallocSymbol |
( |
ProgramStateRef |
currState, |
|
|
ProgramStateRef |
prevState |
|
) |
| |
|
static |
◆ getDeepPointeeType()
◆ getFreeWhenDoneArg()
◆ isKnownDeallocObjCMethodName()
◆ isReferenceCountingPointerDestructor()
Definition at line 2896 of file MallocChecker.cpp.
References findFailedReallocSymbol(), clang::ento::allocation_state::getContainerObjRegion(), clang::NamedDecl::getIdentifier(), getName(), clang::LocationContext::getParent(), clang::CXXMethodDecl::getParent(), clang::ento::PathDiagnosticLocation::getStmt(), clang::LocationContext::isParentOf(), clang::ento::OS, clang::ProgramPoint::PostImplicitCallKind, clang::CodeGen::state, and State.
◆ retTrue()
static bool retTrue |
( |
const RefState * |
RS | ) |
|
|
static |
◆ treatUnusedNewEscaped()
Definition at line 1056 of file MallocChecker.cpp.
References clang::CXXNewExpr::getAllocatedType(), clang::CXXDeleteExpr::getArgument(), clang::CXXNewExpr::getArraySize(), clang::Type::getAsCXXRecordDecl(), clang::Decl::getASTContext(), clang::CXXNewExpr::getConstructExpr(), clang::CXXConstructExpr::getConstructor(), getDeepPointeeType(), clang::CXXDeleteExpr::getOperatorDelete(), clang::CXXNewExpr::getOperatorNew(), clang::Type::getPointeeType(), clang::CharUnits::getQuantity(), clang::ASTContext::getTypeSizeInChars(), clang::CXXNewExpr::isArray(), clang::ParentMap::isConsumedExpr(), clang::QualType::isNull(), clang::FunctionDecl::parameters(), State, and clang::Target.