clang API Documentation

Functions
MacOSKeychainAPIChecker.cpp File Reference
#include "ClangSACheckers.h"
#include "clang/StaticAnalyzer/Core/BugReporter/BugType.h"
#include "clang/StaticAnalyzer/Core/Checker.h"
#include "clang/StaticAnalyzer/Core/CheckerManager.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/Support/raw_ostream.h"
Include dependency graph for MacOSKeychainAPIChecker.cpp:

Go to the source code of this file.

Functions

 REGISTER_MAP_WITH_PROGRAMSTATE (AllocatedData, SymbolRef, MacOSKeychainAPIChecker::AllocationState) static bool isEnclosingFunctionParam(const Expr *E)
static bool isBadDeallocationArgument (const MemRegion *Arg)
static SymbolRef getAsPointeeSymbol (const Expr *Expr, CheckerContext &C)

Function Documentation

static SymbolRef getAsPointeeSymbol ( const Expr Expr,
CheckerContext C 
) [static]

Given the address expression, retrieve the value it's pointing to. Assume that value is itself an address, and return the corresponding symbol.

Definition at line 216 of file MacOSKeychainAPIChecker.cpp.

References clang::ento::SVal::getAs(), clang::ento::StoreManager::getBinding(), clang::ento::CheckerContext::getLocationContext(), clang::ento::CheckerContext::getState(), clang::ento::CheckerContext::getStoreManager(), SM, State, and X.

static bool isBadDeallocationArgument ( const MemRegion Arg) [static]

Definition at line 203 of file MacOSKeychainAPIChecker.cpp.

REGISTER_MAP_WITH_PROGRAMSTATE ( AllocatedData  ,
SymbolRef  ,
MacOSKeychainAPIChecker::AllocationState   
) const

ProgramState traits to store the currently allocated (and not yet freed) symbols. This is a map from the allocated content symbol to the corresponding AllocationState.

Definition at line 159 of file MacOSKeychainAPIChecker.cpp.