Lines Matching refs:StreamChecker
161 class StreamChecker;
162 using FnCheck = std::function<void(const StreamChecker *, const FnDescription *,
208 class StreamChecker : public Checker<check::PreCall, eval::Call, class
238 {{"fopen"}, {nullptr, &StreamChecker::evalFopen, ArgNone}},
240 {&StreamChecker::preFreopen, &StreamChecker::evalFreopen, 2}},
241 {{"tmpfile"}, {nullptr, &StreamChecker::evalFopen, ArgNone}},
243 {&StreamChecker::preDefault, &StreamChecker::evalFclose, 0}},
245 {&StreamChecker::preFread,
246 std::bind(&StreamChecker::evalFreadFwrite, _1, _2, _3, _4, true), 3}},
248 {&StreamChecker::preFwrite,
249 std::bind(&StreamChecker::evalFreadFwrite, _1, _2, _3, _4, false), 3}},
250 {{"fseek", 3}, {&StreamChecker::preFseek, &StreamChecker::evalFseek, 0}},
251 {{"ftell", 1}, {&StreamChecker::preDefault, nullptr, 0}},
252 {{"rewind", 1}, {&StreamChecker::preDefault, nullptr, 0}},
253 {{"fgetpos", 2}, {&StreamChecker::preDefault, nullptr, 0}},
254 {{"fsetpos", 2}, {&StreamChecker::preDefault, nullptr, 0}},
256 {&StreamChecker::preDefault, &StreamChecker::evalClearerr, 0}},
258 {&StreamChecker::preDefault,
259 std::bind(&StreamChecker::evalFeofFerror, _1, _2, _3, _4, ErrorFEof),
262 {&StreamChecker::preDefault,
263 std::bind(&StreamChecker::evalFeofFerror, _1, _2, _3, _4, ErrorFError),
265 {{"fileno", 1}, {&StreamChecker::preDefault, nullptr, 0}},
271 std::bind(&StreamChecker::evalSetFeofFerror, _1, _2, _3, _4, ErrorFEof),
275 std::bind(&StreamChecker::evalSetFeofFerror, _1, _2, _3, _4,
432 const ExplodedNode *StreamChecker::getAcquisitionSite(const ExplodedNode *N, in getAcquisitionSite()
457 void StreamChecker::checkPreCall(const CallEvent &Call, in checkPreCall()
466 bool StreamChecker::evalCall(const CallEvent &Call, CheckerContext &C) const { in evalCall()
478 void StreamChecker::evalFopen(const FnDescription *Desc, const CallEvent &Call, in evalFopen()
507 void StreamChecker::preFreopen(const FnDescription *Desc, const CallEvent &Call, in preFreopen()
519 void StreamChecker::evalFreopen(const FnDescription *Desc, in evalFreopen()
564 void StreamChecker::evalFclose(const FnDescription *Desc, const CallEvent &Call, in evalFclose()
585 void StreamChecker::preFread(const FnDescription *Desc, const CallEvent &Call, in preFread()
610 void StreamChecker::preFwrite(const FnDescription *Desc, const CallEvent &Call, in preFwrite()
628 void StreamChecker::evalFreadFwrite(const FnDescription *Desc, in evalFreadFwrite()
713 void StreamChecker::preFseek(const FnDescription *Desc, const CallEvent &Call, in preFseek()
731 void StreamChecker::evalFseek(const FnDescription *Desc, const CallEvent &Call, in evalFseek()
772 void StreamChecker::evalClearerr(const FnDescription *Desc, in evalClearerr()
793 void StreamChecker::evalFeofFerror(const FnDescription *Desc, in evalFeofFerror()
833 void StreamChecker::preDefault(const FnDescription *Desc, const CallEvent &Call, in preDefault()
848 void StreamChecker::evalSetFeofFerror(const FnDescription *Desc, in evalSetFeofFerror()
862 StreamChecker::ensureStreamNonNull(SVal StreamVal, const Expr *StreamE, in ensureStreamNonNull()
888 ProgramStateRef StreamChecker::ensureStreamOpened(SVal StreamVal, in ensureStreamOpened()
934 ProgramStateRef StreamChecker::ensureNoFilePositionIndeterminate( in ensureNoFilePositionIndeterminate()
980 StreamChecker::ensureFseekWhenceCorrect(SVal WhenceVal, CheckerContext &C, in ensureFseekWhenceCorrect()
1002 void StreamChecker::reportFEofWarning(SymbolRef StreamSym, CheckerContext &C, in reportFEofWarning()
1018 StreamChecker::reportLeaks(const SmallVector<SymbolRef, 2> &LeakedSyms, in reportLeaks()
1056 void StreamChecker::checkDeadSymbols(SymbolReaper &SymReaper, in checkDeadSymbols()
1080 ProgramStateRef StreamChecker::checkPointerEscape( in checkPointerEscape()
1107 Mgr.registerChecker<StreamChecker>(); in registerStreamChecker()
1115 auto *Checker = Mgr.getChecker<StreamChecker>(); in registerStreamTesterChecker()