Lines Matching refs:MallocChecker

288 class MallocChecker  class
378 using CheckFn = std::function<void(const MallocChecker *,
382 {{"free", 1}, &MallocChecker::checkFree},
383 {{"if_freenameindex", 1}, &MallocChecker::checkIfFreeNameIndex},
384 {{"kfree", 1}, &MallocChecker::checkFree},
385 {{"g_free", 1}, &MallocChecker::checkFree},
391 {{"alloca", 1}, &MallocChecker::checkAlloca},
392 {{"_alloca", 1}, &MallocChecker::checkAlloca},
393 {{"malloc", 1}, &MallocChecker::checkBasicAlloc},
394 {{"malloc", 3}, &MallocChecker::checkKernelMalloc},
395 {{"calloc", 2}, &MallocChecker::checkCalloc},
396 {{"valloc", 1}, &MallocChecker::checkBasicAlloc},
397 {{CDF_MaybeBuiltin, "strndup", 2}, &MallocChecker::checkStrdup},
398 {{CDF_MaybeBuiltin, "strdup", 1}, &MallocChecker::checkStrdup},
399 {{"_strdup", 1}, &MallocChecker::checkStrdup},
400 {{"kmalloc", 2}, &MallocChecker::checkKernelMalloc},
401 {{"if_nameindex", 1}, &MallocChecker::checkIfNameIndex},
402 {{CDF_MaybeBuiltin, "wcsdup", 1}, &MallocChecker::checkStrdup},
403 {{CDF_MaybeBuiltin, "_wcsdup", 1}, &MallocChecker::checkStrdup},
404 {{"g_malloc", 1}, &MallocChecker::checkBasicAlloc},
405 {{"g_malloc0", 1}, &MallocChecker::checkGMalloc0},
406 {{"g_try_malloc", 1}, &MallocChecker::checkBasicAlloc},
407 {{"g_try_malloc0", 1}, &MallocChecker::checkGMalloc0},
408 {{"g_memdup", 2}, &MallocChecker::checkGMemdup},
409 {{"g_malloc_n", 2}, &MallocChecker::checkGMallocN},
410 {{"g_malloc0_n", 2}, &MallocChecker::checkGMallocN0},
411 {{"g_try_malloc_n", 2}, &MallocChecker::checkGMallocN},
412 {{"g_try_malloc0_n", 2}, &MallocChecker::checkGMallocN0},
417 std::bind(&MallocChecker::checkRealloc, _1, _2, _3, false)},
419 std::bind(&MallocChecker::checkRealloc, _1, _2, _3, true)},
421 std::bind(&MallocChecker::checkRealloc, _1, _2, _3, false)},
423 std::bind(&MallocChecker::checkRealloc, _1, _2, _3, false)},
424 {{"g_realloc_n", 3}, &MallocChecker::checkReallocN},
425 {{"g_try_realloc_n", 3}, &MallocChecker::checkReallocN},
897 bool MallocChecker::isFreeingCall(const CallEvent &Call) const { in isFreeingCall()
912 bool MallocChecker::isMemCall(const CallEvent &Call) const { in isMemCall()
925 MallocChecker::performKernelMalloc(const CallEvent &Call, CheckerContext &C, in performKernelMalloc()
1004 SVal MallocChecker::evalMulForBufferSize(CheckerContext &C, const Expr *Blocks, in evalMulForBufferSize()
1015 void MallocChecker::checkBasicAlloc(const CallEvent &Call, in checkBasicAlloc()
1024 void MallocChecker::checkKernelMalloc(const CallEvent &Call, in checkKernelMalloc()
1065 void MallocChecker::checkRealloc(const CallEvent &Call, CheckerContext &C, in checkRealloc()
1081 void MallocChecker::checkCalloc(const CallEvent &Call, in checkCalloc()
1090 void MallocChecker::checkFree(const CallEvent &Call, CheckerContext &C) const { in checkFree()
1100 void MallocChecker::checkAlloca(const CallEvent &Call, in checkAlloca()
1109 void MallocChecker::checkStrdup(const CallEvent &Call, in checkStrdup()
1120 void MallocChecker::checkIfNameIndex(const CallEvent &Call, in checkIfNameIndex()
1131 void MallocChecker::checkIfFreeNameIndex(const CallEvent &Call, in checkIfFreeNameIndex()
1140 void MallocChecker::checkCXXNewOrCXXDelete(const CallEvent &Call, in checkCXXNewOrCXXDelete()
1181 void MallocChecker::checkGMalloc0(const CallEvent &Call, in checkGMalloc0()
1191 void MallocChecker::checkGMemdup(const CallEvent &Call, in checkGMemdup()
1200 void MallocChecker::checkGMallocN(const CallEvent &Call, in checkGMallocN()
1211 void MallocChecker::checkGMallocN0(const CallEvent &Call, in checkGMallocN0()
1223 void MallocChecker::checkReallocN(const CallEvent &Call, in checkReallocN()
1233 void MallocChecker::checkOwnershipAttr(const CallEvent &Call, in checkOwnershipAttr()
1262 void MallocChecker::checkPostCall(const CallEvent &Call, in checkPostCall()
1295 ProgramStateRef MallocChecker::ProcessZeroAllocCheck( in ProcessZeroAllocCheck()
1400 MallocChecker::processNewAllocation(const CXXAllocatorCall &Call, in processNewAllocation()
1427 void MallocChecker::checkNewAllocator(const CXXAllocatorCall &Call, in checkNewAllocator()
1460 void MallocChecker::checkPostObjCMessage(const ObjCMethodCall &Call, in checkPostObjCMessage()
1485 MallocChecker::MallocMemReturnsAttr(CheckerContext &C, const CallEvent &Call, in MallocMemReturnsAttr()
1502 ProgramStateRef MallocChecker::MallocMemAux(CheckerContext &C, in MallocMemAux()
1514 ProgramStateRef MallocChecker::MallocMemAux(CheckerContext &C, in MallocMemAux()
1571 ProgramStateRef MallocChecker::FreeMemAttr(CheckerContext &C, in FreeMemAttr()
1594 ProgramStateRef MallocChecker::FreeMemAux(CheckerContext &C, in FreeMemAux()
1689 ProgramStateRef MallocChecker::FreeMemAux( in FreeMemAux()
1865 Optional<MallocChecker::CheckKind>
1866 MallocChecker::getCheckIfTracked(AllocationFamily Family, in getCheckIfTracked()
1900 Optional<MallocChecker::CheckKind>
1901 MallocChecker::getCheckIfTracked(CheckerContext &C, SymbolRef Sym, in getCheckIfTracked()
1911 bool MallocChecker::SummarizeValue(raw_ostream &os, SVal V) { in SummarizeValue()
1924 bool MallocChecker::SummarizeRegion(raw_ostream &os, in SummarizeRegion()
1998 void MallocChecker::HandleNonHeapDealloc(CheckerContext &C, SVal ArgVal, in HandleNonHeapDealloc()
2008 Optional<MallocChecker::CheckKind> CheckKind = getCheckIfTracked(Family); in HandleNonHeapDealloc()
2046 void MallocChecker::HandleFreeAlloca(CheckerContext &C, SVal ArgVal, in HandleFreeAlloca()
2049 Optional<MallocChecker::CheckKind> CheckKind; in HandleFreeAlloca()
2074 void MallocChecker::HandleMismatchedDealloc(CheckerContext &C, in HandleMismatchedDealloc()
2131 void MallocChecker::HandleOffsetFree(CheckerContext &C, SVal ArgVal, in HandleOffsetFree()
2141 Optional<MallocChecker::CheckKind> CheckKind = getCheckIfTracked(Family); in HandleOffsetFree()
2189 void MallocChecker::HandleUseAfterFree(CheckerContext &C, SourceRange Range, in HandleUseAfterFree()
2198 Optional<MallocChecker::CheckKind> CheckKind = getCheckIfTracked(C, Sym); in HandleUseAfterFree()
2228 void MallocChecker::HandleDoubleFree(CheckerContext &C, SourceRange Range, in HandleDoubleFree()
2237 Optional<MallocChecker::CheckKind> CheckKind = getCheckIfTracked(C, Sym); in HandleDoubleFree()
2260 void MallocChecker::HandleDoubleDelete(CheckerContext &C, SymbolRef Sym) const { in HandleDoubleDelete()
2267 Optional<MallocChecker::CheckKind> CheckKind = getCheckIfTracked(C, Sym); in HandleDoubleDelete()
2286 void MallocChecker::HandleUseZeroAlloc(CheckerContext &C, SourceRange Range, in HandleUseZeroAlloc()
2294 Optional<MallocChecker::CheckKind> CheckKind = getCheckIfTracked(C, Sym); in HandleUseZeroAlloc()
2317 void MallocChecker::HandleFunctionPtrFree(CheckerContext &C, SVal ArgVal, in HandleFunctionPtrFree()
2326 Optional<MallocChecker::CheckKind> CheckKind = getCheckIfTracked(Family); in HandleFunctionPtrFree()
2357 MallocChecker::ReallocMemAux(CheckerContext &C, const CallEvent &Call, in ReallocMemAux()
2464 ProgramStateRef MallocChecker::CallocMem(CheckerContext &C, in CallocMem()
2481 MallocChecker::LeakInfo MallocChecker::getAllocationSite(const ExplodedNode *N, in getAllocationSite()
2522 void MallocChecker::HandleLeak(SymbolRef Sym, ExplodedNode *N, in HandleLeak()
2536 Optional<MallocChecker::CheckKind> in HandleLeak()
2585 void MallocChecker::checkDeadSymbols(SymbolReaper &SymReaper, in checkDeadSymbols()
2646 void MallocChecker::checkPreCall(const CallEvent &Call, in checkPreCall()
2705 void MallocChecker::checkPreStmt(const ReturnStmt *S, in checkPreStmt()
2713 void MallocChecker::checkEndFunction(const ReturnStmt *S, in checkEndFunction()
2718 void MallocChecker::checkEscapeOnReturn(const ReturnStmt *S, in checkEscapeOnReturn()
2749 void MallocChecker::checkPostStmt(const BlockExpr *BE, in checkPostStmt()
2790 bool MallocChecker::suppressDeallocationsInSuspiciousContexts( in suppressDeallocationsInSuspiciousContexts()
2819 bool MallocChecker::checkUseAfterFree(SymbolRef Sym, CheckerContext &C, in checkUseAfterFree()
2830 void MallocChecker::checkUseZeroAllocated(SymbolRef Sym, CheckerContext &C, in checkUseZeroAllocated()
2843 bool MallocChecker::checkDoubleDelete(SymbolRef Sym, CheckerContext &C) const { in checkDoubleDelete()
2853 void MallocChecker::checkLocation(SVal l, bool isLoad, const Stmt *S, in checkLocation()
2864 ProgramStateRef MallocChecker::evalAssume(ProgramStateRef state, in evalAssume()
2908 bool MallocChecker::mayFreeAnyEscapedMemoryOrIsModeledExplicitly( in mayFreeAnyEscapedMemoryOrIsModeledExplicitly()
3067 ProgramStateRef MallocChecker::checkPointerEscape(ProgramStateRef State, in checkPointerEscape()
3075 ProgramStateRef MallocChecker::checkConstPointerEscape(ProgramStateRef State, in checkConstPointerEscape()
3089 ProgramStateRef MallocChecker::checkPointerEscapeAux( in checkPointerEscapeAux()
3119 bool MallocChecker::isArgZERO_SIZE_PTR(ProgramStateRef State, CheckerContext &C, in isArgZERO_SIZE_PTR()
3346 void MallocChecker::printState(raw_ostream &Out, ProgramStateRef State, in printState()
3356 Optional<MallocChecker::CheckKind> CheckKind = getCheckIfTracked(Family); in printState()
3387 MallocChecker *checker = mgr.getChecker<MallocChecker>(); in registerInnerPointerCheckerAux()
3388 checker->ChecksEnabled[MallocChecker::CK_InnerPointerChecker] = true; in registerInnerPointerCheckerAux()
3389 checker->CheckNames[MallocChecker::CK_InnerPointerChecker] = in registerInnerPointerCheckerAux()
3394 auto *checker = mgr.registerChecker<MallocChecker>(); in registerDynamicMemoryModeling()
3405 MallocChecker *checker = mgr.getChecker<MallocChecker>(); \
3406 checker->ChecksEnabled[MallocChecker::CK_##name] = true; \
3407 checker->CheckNames[MallocChecker::CK_##name] = \
3413 REGISTER_CHECKER(MallocChecker)