|
clang
3.8.0
|
When a region containing undefined value or '0' value is passed as an argument in a call, marks the call as interesting. More...
#include <BugReporterVisitor.h>
Public Member Functions | |
| UndefOrNullArgVisitor (const MemRegion *InR) | |
| void | Profile (llvm::FoldingSetNodeID &ID) const override |
| PathDiagnosticPiece * | VisitNode (const ExplodedNode *N, const ExplodedNode *PrevN, BugReporterContext &BRC, BugReport &BR) override |
| Return a diagnostic piece which should be associated with the given node. More... | |
Public Member Functions inherited from clang::ento::BugReporterVisitor | |
| BugReporterVisitor ()=default | |
| BugReporterVisitor (const BugReporterVisitor &)=default | |
| BugReporterVisitor (BugReporterVisitor &&) | |
| virtual | ~BugReporterVisitor () |
| virtual std::unique_ptr < PathDiagnosticPiece > | getEndPath (BugReporterContext &BRC, const ExplodedNode *N, BugReport &BR) |
| Provide custom definition for the final diagnostic piece on the path - the piece, which is displayed before the path is expanded. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from clang::ento::BugReporterVisitor | |
| static std::unique_ptr < PathDiagnosticPiece > | getDefaultEndPath (BugReporterContext &BRC, const ExplodedNode *N, BugReport &BR) |
| Generates the default final diagnostic piece. More... | |
When a region containing undefined value or '0' value is passed as an argument in a call, marks the call as interesting.
As a result, BugReporter will not prune the path through the function even if the region's contents are not modified/accessed by the call.
Definition at line 281 of file BugReporterVisitor.h.
|
inline |
Definition at line 288 of file BugReporterVisitor.h.
|
inlineoverridevirtual |
Implements clang::ento::BugReporterVisitor.
Definition at line 290 of file BugReporterVisitor.h.
|
overridevirtual |
Return a diagnostic piece which should be associated with the given node.
The last parameter can be used to register a new visitor with the given BugReport while processing a node.
Implements clang::ento::BugReporterVisitor.
Definition at line 1592 of file BugReporterVisitors.cpp.
References E, clang::ProgramPoint::getAs(), clang::CallEventManager::getCaller(), clang::ento::ProgramStateManager::getCallEventManager(), clang::ento::ExplodedNode::getLocation(), clang::Type::getPointeeType(), clang::ento::ExplodedNode::getState(), clang::ento::BugReporterContext::getStateManager(), clang::ValueDecl::getType(), I, clang::Type::isAnyPointerType(), clang::QualType::isConstQualified(), clang::Type::isReferenceType(), clang::ento::MemRegion::isSubRegionOf(), clang::ento::SVal::isUndef(), clang::ento::SVal::isZeroConstant(), clang::ento::BugReport::markInteresting(), State, and clang::ento::MemRegion::StripCasts().
1.8.6