Lines Matching refs:StreamChecker
149 class StreamChecker;
150 using FnCheck = std::function<void(const StreamChecker *, const FnDescription *,
196 class StreamChecker : public Checker<check::PreCall, eval::Call, class
224 {{"fopen"}, {nullptr, &StreamChecker::evalFopen, ArgNone}},
226 {&StreamChecker::preFreopen, &StreamChecker::evalFreopen, 2}},
227 {{"tmpfile"}, {nullptr, &StreamChecker::evalFopen, ArgNone}},
229 {&StreamChecker::preDefault, &StreamChecker::evalFclose, 0}},
231 {&StreamChecker::preFread,
232 std::bind(&StreamChecker::evalFreadFwrite, _1, _2, _3, _4, true), 3}},
234 {&StreamChecker::preFwrite,
235 std::bind(&StreamChecker::evalFreadFwrite, _1, _2, _3, _4, false), 3}},
236 {{"fseek", 3}, {&StreamChecker::preFseek, &StreamChecker::evalFseek, 0}},
237 {{"ftell", 1}, {&StreamChecker::preDefault, nullptr, 0}},
238 {{"rewind", 1}, {&StreamChecker::preDefault, nullptr, 0}},
239 {{"fgetpos", 2}, {&StreamChecker::preDefault, nullptr, 0}},
240 {{"fsetpos", 2}, {&StreamChecker::preDefault, nullptr, 0}},
242 {&StreamChecker::preDefault, &StreamChecker::evalClearerr, 0}},
244 {&StreamChecker::preDefault,
245 std::bind(&StreamChecker::evalFeofFerror, _1, _2, _3, _4, ErrorFEof),
248 {&StreamChecker::preDefault,
249 std::bind(&StreamChecker::evalFeofFerror, _1, _2, _3, _4, ErrorFError),
251 {{"fileno", 1}, {&StreamChecker::preDefault, nullptr, 0}},
257 std::bind(&StreamChecker::evalSetFeofFerror, _1, _2, _3, _4, ErrorFEof),
261 std::bind(&StreamChecker::evalSetFeofFerror, _1, _2, _3, _4,
400 const ExplodedNode *StreamChecker::getAcquisitionSite(const ExplodedNode *N, in getAcquisitionSite()
421 void StreamChecker::checkPreCall(const CallEvent &Call, in checkPreCall()
430 bool StreamChecker::evalCall(const CallEvent &Call, CheckerContext &C) const { in evalCall()
442 void StreamChecker::evalFopen(const FnDescription *Desc, const CallEvent &Call, in evalFopen()
471 void StreamChecker::preFreopen(const FnDescription *Desc, const CallEvent &Call, in preFreopen()
482 void StreamChecker::evalFreopen(const FnDescription *Desc, in evalFreopen()
527 void StreamChecker::evalFclose(const FnDescription *Desc, const CallEvent &Call, in evalFclose()
548 void StreamChecker::preFread(const FnDescription *Desc, const CallEvent &Call, in preFread()
572 void StreamChecker::preFwrite(const FnDescription *Desc, const CallEvent &Call, in preFwrite()
589 void StreamChecker::evalFreadFwrite(const FnDescription *Desc, in evalFreadFwrite()
670 void StreamChecker::preFseek(const FnDescription *Desc, const CallEvent &Call, in preFseek()
687 void StreamChecker::evalFseek(const FnDescription *Desc, const CallEvent &Call, in evalFseek()
728 void StreamChecker::evalClearerr(const FnDescription *Desc, in evalClearerr()
749 void StreamChecker::evalFeofFerror(const FnDescription *Desc, in evalFeofFerror()
789 void StreamChecker::preDefault(const FnDescription *Desc, const CallEvent &Call, in preDefault()
803 void StreamChecker::evalSetFeofFerror(const FnDescription *Desc, in evalSetFeofFerror()
817 StreamChecker::ensureStreamNonNull(SVal StreamVal, CheckerContext &C, in ensureStreamNonNull()
839 ProgramStateRef StreamChecker::ensureStreamOpened(SVal StreamVal, in ensureStreamOpened()
885 ProgramStateRef StreamChecker::ensureNoFilePositionIndeterminate( in ensureNoFilePositionIndeterminate()
931 StreamChecker::ensureFseekWhenceCorrect(SVal WhenceVal, CheckerContext &C, in ensureFseekWhenceCorrect()
953 void StreamChecker::reportFEofWarning(CheckerContext &C, in reportFEofWarning()
967 StreamChecker::reportLeaks(const SmallVector<SymbolRef, 2> &LeakedSyms, in reportLeaks()
1005 void StreamChecker::checkDeadSymbols(SymbolReaper &SymReaper, in checkDeadSymbols()
1029 ProgramStateRef StreamChecker::checkPointerEscape( in checkPointerEscape()
1052 Mgr.registerChecker<StreamChecker>(); in registerStreamChecker()
1060 auto *Checker = Mgr.getChecker<StreamChecker>(); in registerStreamTesterChecker()