| 
    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