Lines Matching refs:CStringChecker
75 class CStringChecker : public Checker< eval::Call, class
118 typedef void (CStringChecker::*FnCheck)(CheckerContext &,
121 {{CDF_MaybeBuiltin, "memcpy", 3}, &CStringChecker::evalMemcpy},
122 {{CDF_MaybeBuiltin, "mempcpy", 3}, &CStringChecker::evalMempcpy},
123 {{CDF_MaybeBuiltin, "memcmp", 3}, &CStringChecker::evalMemcmp},
124 {{CDF_MaybeBuiltin, "memmove", 3}, &CStringChecker::evalMemmove},
125 {{CDF_MaybeBuiltin, "memset", 3}, &CStringChecker::evalMemset},
126 {{CDF_MaybeBuiltin, "explicit_memset", 3}, &CStringChecker::evalMemset},
127 {{CDF_MaybeBuiltin, "strcpy", 2}, &CStringChecker::evalStrcpy},
128 {{CDF_MaybeBuiltin, "strncpy", 3}, &CStringChecker::evalStrncpy},
129 {{CDF_MaybeBuiltin, "stpcpy", 2}, &CStringChecker::evalStpcpy},
130 {{CDF_MaybeBuiltin, "strlcpy", 3}, &CStringChecker::evalStrlcpy},
131 {{CDF_MaybeBuiltin, "strcat", 2}, &CStringChecker::evalStrcat},
132 {{CDF_MaybeBuiltin, "strncat", 3}, &CStringChecker::evalStrncat},
133 {{CDF_MaybeBuiltin, "strlcat", 3}, &CStringChecker::evalStrlcat},
134 {{CDF_MaybeBuiltin, "strlen", 1}, &CStringChecker::evalstrLength},
135 {{CDF_MaybeBuiltin, "strnlen", 2}, &CStringChecker::evalstrnLength},
136 {{CDF_MaybeBuiltin, "strcmp", 2}, &CStringChecker::evalStrcmp},
137 {{CDF_MaybeBuiltin, "strncmp", 3}, &CStringChecker::evalStrncmp},
138 {{CDF_MaybeBuiltin, "strcasecmp", 2}, &CStringChecker::evalStrcasecmp},
139 {{CDF_MaybeBuiltin, "strncasecmp", 3}, &CStringChecker::evalStrncasecmp},
140 {{CDF_MaybeBuiltin, "strsep", 2}, &CStringChecker::evalStrsep},
141 {{CDF_MaybeBuiltin, "bcopy", 3}, &CStringChecker::evalBcopy},
142 {{CDF_MaybeBuiltin, "bcmp", 3}, &CStringChecker::evalMemcmp},
143 {{CDF_MaybeBuiltin, "bzero", 2}, &CStringChecker::evalBzero},
144 {{CDF_MaybeBuiltin, "explicit_bzero", 2}, &CStringChecker::evalBzero},
283 CStringChecker::assumeZero(CheckerContext &C, ProgramStateRef state, SVal V, in REGISTER_MAP_WITH_PROGRAMSTATE()
294 ProgramStateRef CStringChecker::checkNonNull(CheckerContext &C, in checkNonNull()
325 ProgramStateRef CStringChecker::CheckLocation(CheckerContext &C, in CheckLocation()
375 ProgramStateRef CStringChecker::CheckBufferAccess(CheckerContext &C, in CheckBufferAccess()
434 ProgramStateRef CStringChecker::CheckOverlap(CheckerContext &C, in CheckOverlap()
546 void CStringChecker::emitOverlapBug(CheckerContext &C, ProgramStateRef state, in emitOverlapBug()
565 void CStringChecker::emitNullArgBug(CheckerContext &C, ProgramStateRef State, in emitNullArgBug()
582 void CStringChecker::emitOutOfBoundsBug(CheckerContext &C, in emitOutOfBoundsBug()
604 void CStringChecker::emitNotCStringBug(CheckerContext &C, ProgramStateRef State, in emitNotCStringBug()
621 void CStringChecker::emitAdditionOverflowBug(CheckerContext &C, in emitAdditionOverflowBug()
642 ProgramStateRef CStringChecker::checkAdditionOverflow(CheckerContext &C, in checkAdditionOverflow()
697 ProgramStateRef CStringChecker::setCStringLength(ProgramStateRef state, in setCStringLength()
738 SVal CStringChecker::getCStringLengthForRegion(CheckerContext &C, in getCStringLengthForRegion()
753 SVal strLength = svalBuilder.getMetadataSymbolVal(CStringChecker::getTag(), in getCStringLengthForRegion()
777 SVal CStringChecker::getCStringLength(CheckerContext &C, ProgramStateRef &state, in getCStringLength()
852 const StringLiteral *CStringChecker::getCStringLiteral(CheckerContext &C, in getCStringLiteral()
872 bool CStringChecker::IsFirstBufInBound(CheckerContext &C, in IsFirstBufInBound()
936 ProgramStateRef CStringChecker::InvalidateBuffer(CheckerContext &C, in InvalidateBuffer()
993 bool CStringChecker::SummarizeRegion(raw_ostream &os, ASTContext &Ctx, in SummarizeRegion()
1035 bool CStringChecker::memsetAux(const Expr *DstBuffer, SVal CharVal, in memsetAux()
1101 CStringChecker::getTag(), MR, DstBuffer, Ctx.getSizeType(), in memsetAux()
1126 void CStringChecker::evalCopyCommon(CheckerContext &C, const CallExpr *CE, in evalCopyCommon()
1227 void CStringChecker::evalMemcpy(CheckerContext &C, const CallExpr *CE) const { in evalMemcpy()
1241 void CStringChecker::evalMempcpy(CheckerContext &C, const CallExpr *CE) const { in evalMempcpy()
1253 void CStringChecker::evalMemmove(CheckerContext &C, const CallExpr *CE) const { in evalMemmove()
1265 void CStringChecker::evalBcopy(CheckerContext &C, const CallExpr *CE) const { in evalBcopy()
1276 void CStringChecker::evalMemcmp(CheckerContext &C, const CallExpr *CE) const { in evalMemcmp()
1347 void CStringChecker::evalstrLength(CheckerContext &C, in evalstrLength()
1353 void CStringChecker::evalstrnLength(CheckerContext &C, in evalstrnLength()
1359 void CStringChecker::evalstrLengthCommon(CheckerContext &C, const CallExpr *CE, in evalstrLengthCommon()
1477 void CStringChecker::evalStrcpy(CheckerContext &C, const CallExpr *CE) const { in evalStrcpy()
1485 void CStringChecker::evalStrncpy(CheckerContext &C, const CallExpr *CE) const { in evalStrncpy()
1493 void CStringChecker::evalStpcpy(CheckerContext &C, const CallExpr *CE) const { in evalStpcpy()
1501 void CStringChecker::evalStrlcpy(CheckerContext &C, const CallExpr *CE) const { in evalStrlcpy()
1510 void CStringChecker::evalStrcat(CheckerContext &C, const CallExpr *CE) const { in evalStrcat()
1518 void CStringChecker::evalStrncat(CheckerContext &C, const CallExpr *CE) const { in evalStrncat()
1526 void CStringChecker::evalStrlcat(CheckerContext &C, const CallExpr *CE) const { in evalStrlcat()
1537 void CStringChecker::evalStrcpyCommon(CheckerContext &C, const CallExpr *CE, in evalStrcpyCommon()
1919 void CStringChecker::evalStrcmp(CheckerContext &C, const CallExpr *CE) const { in evalStrcmp()
1924 void CStringChecker::evalStrncmp(CheckerContext &C, const CallExpr *CE) const { in evalStrncmp()
1929 void CStringChecker::evalStrcasecmp(CheckerContext &C, in evalStrcasecmp()
1935 void CStringChecker::evalStrncasecmp(CheckerContext &C, in evalStrncasecmp()
1941 void CStringChecker::evalStrcmpCommon(CheckerContext &C, const CallExpr *CE, in evalStrcmpCommon()
2070 void CStringChecker::evalStrsep(CheckerContext &C, const CallExpr *CE) const { in evalStrsep()
2130 void CStringChecker::evalStdCopy(CheckerContext &C, const CallExpr *CE) const { in evalStdCopy()
2134 void CStringChecker::evalStdCopyBackward(CheckerContext &C, in evalStdCopyBackward()
2139 void CStringChecker::evalStdCopyCommon(CheckerContext &C, in evalStdCopyCommon()
2167 void CStringChecker::evalMemset(CheckerContext &C, const CallExpr *CE) const { in evalMemset()
2217 void CStringChecker::evalBzero(CheckerContext &C, const CallExpr *CE) const { in evalBzero()
2264 CStringChecker::FnCheck CStringChecker::identifyCall(const CallEvent &Call, in identifyCall()
2275 return &CStringChecker::evalStdCopy; in identifyCall()
2277 return &CStringChecker::evalStdCopyBackward; in identifyCall()
2297 bool CStringChecker::evalCall(const CallEvent &Call, CheckerContext &C) const { in evalCall()
2317 void CStringChecker::checkPreStmt(const DeclStmt *DS, CheckerContext &C) const { in checkPreStmt()
2353 CStringChecker::checkRegionChanges(ProgramStateRef state, in checkRegionChanges()
2406 void CStringChecker::checkLiveSymbols(ProgramStateRef state, in checkLiveSymbols()
2421 void CStringChecker::checkDeadSymbols(SymbolReaper &SR, in checkDeadSymbols()
2443 Mgr.registerChecker<CStringChecker>(); in registerCStringModeling()
2452 CStringChecker *checker = mgr.getChecker<CStringChecker>(); \