Lines Matching refs:CStringChecker
1 //= CStringChecker.cpp - Checks calls to C string functions --------*- C++ -*-//
10 // This defines CStringChecker, which is an assortment of checks on calls
32 class CStringChecker : public Checker< eval::Call,
73 typedef void (CStringChecker::*FnCheck)(CheckerContext &,
204 CStringChecker::assumeZero(CheckerContext &C, ProgramStateRef state, SVal V,
215 ProgramStateRef CStringChecker::checkNonNull(CheckerContext &C,
258 ProgramStateRef CStringChecker::CheckLocation(CheckerContext &C,
331 ProgramStateRef CStringChecker::CheckBufferAccess(CheckerContext &C,
408 ProgramStateRef CStringChecker
521 void CStringChecker::emitOverlapBug(CheckerContext &C, ProgramStateRef state,
540 ProgramStateRef CStringChecker::checkAdditionOverflow(CheckerContext &C,
613 ProgramStateRef CStringChecker::setCStringLength(ProgramStateRef state,
653 SVal CStringChecker::getCStringLengthForRegion(CheckerContext &C,
668 SVal strLength = svalBuilder.getMetadataSymbolVal(CStringChecker::getTag(),
678 SVal CStringChecker::getCStringLength(CheckerContext &C, ProgramStateRef &state,
778 const StringLiteral *CStringChecker::getCStringLiteral(CheckerContext &C,
798 ProgramStateRef CStringChecker::InvalidateBuffer(CheckerContext &C,
830 bool CStringChecker::SummarizeRegion(raw_ostream &os, ASTContext &Ctx,
871 void CStringChecker::evalCopyCommon(CheckerContext &C,
970 void CStringChecker::evalMemcpy(CheckerContext &C, const CallExpr *CE) const {
982 void CStringChecker::evalMempcpy(CheckerContext &C, const CallExpr *CE) const {
994 void CStringChecker::evalMemmove(CheckerContext &C, const CallExpr *CE) const {
1006 void CStringChecker::evalBcopy(CheckerContext &C, const CallExpr *CE) const {
1015 void CStringChecker::evalMemcmp(CheckerContext &C, const CallExpr *CE) const {
1090 void CStringChecker::evalstrLength(CheckerContext &C,
1099 void CStringChecker::evalstrnLength(CheckerContext &C,
1108 void CStringChecker::evalstrLengthCommon(CheckerContext &C, const CallExpr *CE,
1225 void CStringChecker::evalStrcpy(CheckerContext &C, const CallExpr *CE) const {
1236 void CStringChecker::evalStrncpy(CheckerContext &C, const CallExpr *CE) const {
1247 void CStringChecker::evalStpcpy(CheckerContext &C, const CallExpr *CE) const {
1258 void CStringChecker::evalStrcat(CheckerContext &C, const CallExpr *CE) const {
1269 void CStringChecker::evalStrncat(CheckerContext &C, const CallExpr *CE) const {
1280 void CStringChecker::evalStrcpyCommon(CheckerContext &C, const CallExpr *CE,
1600 void CStringChecker::evalStrcmp(CheckerContext &C, const CallExpr *CE) const {
1608 void CStringChecker::evalStrncmp(CheckerContext &C, const CallExpr *CE) const {
1616 void CStringChecker::evalStrcasecmp(CheckerContext &C,
1625 void CStringChecker::evalStrncasecmp(CheckerContext &C,
1634 void CStringChecker::evalStrcmpCommon(CheckerContext &C, const CallExpr *CE,
1757 void CStringChecker::evalStrsep(CheckerContext &C, const CallExpr *CE) const {
1818 bool CStringChecker::evalCall(const CallExpr *CE, CheckerContext &C) const {
1827 evalFunction = &CStringChecker::evalMemcpy;
1829 evalFunction = &CStringChecker::evalMempcpy;
1831 evalFunction = &CStringChecker::evalMemcmp;
1833 evalFunction = &CStringChecker::evalMemmove;
1835 evalFunction = &CStringChecker::evalStrcpy;
1837 evalFunction = &CStringChecker::evalStrncpy;
1839 evalFunction = &CStringChecker::evalStpcpy;
1841 evalFunction = &CStringChecker::evalStrcat;
1843 evalFunction = &CStringChecker::evalStrncat;
1845 evalFunction = &CStringChecker::evalstrLength;
1847 evalFunction = &CStringChecker::evalstrnLength;
1849 evalFunction = &CStringChecker::evalStrcmp;
1851 evalFunction = &CStringChecker::evalStrncmp;
1853 evalFunction = &CStringChecker::evalStrcasecmp;
1855 evalFunction = &CStringChecker::evalStrncasecmp;
1857 evalFunction = &CStringChecker::evalStrsep;
1859 evalFunction = &CStringChecker::evalBcopy;
1861 evalFunction = &CStringChecker::evalMemcmp;
1886 void CStringChecker::checkPreStmt(const DeclStmt *DS, CheckerContext &C) const {
1922 bool CStringChecker::wantsRegionChangeUpdate(ProgramStateRef state) const {
1928 CStringChecker::checkRegionChanges(ProgramStateRef state,
1980 void CStringChecker::checkLiveSymbols(ProgramStateRef state,
1995 void CStringChecker::checkDeadSymbols(SymbolReaper &SR,
2021 mgr.registerChecker<CStringChecker>()->Filter.Check##name = true; \