|
ClearBlue
|
#include <Vulnerability.h>


Public Member Functions | |
| SinkMustNotReachVulnerability (const char *Name, const BugDescription::BugImportance Importance, const BugDescription::BugClassification Classification, const char *Desc) | |
Public Member Functions inherited from Vulnerability | |
| virtual void | setSources (const SymbolicExprGraph *SEG, std::vector< ValueSitePairType > &Sources)=0 |
| virtual void | setSinks (const SymbolicExprGraph *SEG, std::vector< ValueSitePairType > &Sinks) |
| virtual void | setPrerequisites (SymbolicExprGraphSolver *Solver, const SEGSiteBase *CurrSite, const VulnerabilityTraceBuilder &TraceHistory, SMTExprVec &Prerequisites)=0 |
| virtual bool | checkNode (const SEGNodeBase *CurrNode, const VulnerabilityTraceBuilder &TraceHistory) |
| virtual bool | finalCheck (const VulnerabilityTraceBuilder &TraceHistory) |
| virtual void | ConstantCheck (const SymbolicExprGraph *SEG, std::list< shared_ptr< VulnerabilityTrace >> &AllTraces) |
| virtual bool | isFlowInsensitive () |
| virtual SiteType | checkSite (const SEGSiteBase *CurrSite, const VulnerabilityTraceBuilder &TraceHistory)=0 |
| virtual bool | checkTrace (std::shared_ptr< VulnerabilityTrace > &Trace) |
| VulnerabilityCategoryType | getCategoryType () const |
| bool | isParasitical () const |
| void | setParasitical (bool B) |
| const char * | getDescription () |
| Return the description of the vulnerability. | |
| BugDescription::BugImportance | getImportance () const |
| BugDescription::BugClassification | getClassification () const |
| const char * | getName () |
| Return the name of the vulnerability. | |
| virtual PSAReportDecoratorDefault * | allocNewDecorator () |
| virtual void | destroyDecorator (PSAReportDecoratorDefault *decorator) |
| virtual void | getAnalysisUsage (AnalysisUsage &AU) |
| virtual void | initializeAnalysis (Pass *P) |
Additional Inherited Members | |
Public Types inherited from Vulnerability | |
| enum | SiteType { ST_Return = 1 << 0, ST_Call = 1 << 1, ST_Sink = 1 << 2, ST_Others = 1 << 3 } |
| enum | VulnerabilityCategoryType { VCT_Begin, VCT_SinkMustReach, VCT_SinkMustNotReach, VCT_Taint, VCT_TypeState, VCT_End } |
| typedef std::pair< const SEGOperandNode *, const SEGSiteBase * > | ValueSitePairType |
Users should extend this class to implement a SinkMustNotReach vulnerability See Vulnerability::VulnerabilityCategoryType for more information.
1.8.17