ClearBlue
Public Member Functions
SrcMustReachSinkVulnerability Class Reference
Inheritance diagram for SrcMustReachSinkVulnerability:
Inheritance graph
[legend]
Collaboration diagram for SrcMustReachSinkVulnerability:
Collaboration graph
[legend]

Public Member Functions

 SrcMustReachSinkVulnerability (const char *Name, BugDescription::BugImportance Importance=BugDescription::BI_MEDIUM, BugDescription::BugClassification Classification=BugDescription::BC_SECURITY, const char *Desc="CUSTOMIZED")
 
- Public Member Functions inherited from SailFishVulnerability
 SailFishVulnerability (VulnerabilityCategoryType CTy, const char *Name, const BugDescription::BugImportance Importance, const BugDescription::BugClassification Classification, const char *Desc)
 
virtual void setSources (const SymbolicExprGraph *SEG, std::vector< ValueSitePairType > &Sources)
 
virtual Vulnerability::SiteType checkSite (const SEGSiteBase *CurrSite, const VulnerabilityTraceBuilder &TraceHistory) override
 
virtual bool isSource (SEGNodeBase *Node, SEGSiteBase *Site)
 
virtual bool isSink (SEGNodeBase *Node, SEGSiteBase *Site)
 
virtual void setPrerequisites (SymbolicExprGraphSolver *Solver, const SEGSiteBase *CurrSite, const VulnerabilityTraceBuilder &TraceHistory, SMTExprVec &Prerequisites) override
 
virtual void transfer (const SEGSiteBase *Site, const SEGNodeBase *Arg, std::vector< const SEGNodeBase * > &TransferDsts)
 
- Public Member Functions inherited from Vulnerability
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 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_End
}
 
typedef std::pair< const SEGOperandNode *, const SEGSiteBase * > ValueSitePairType
 
- Static Public Member Functions inherited from SailFishVulnerability
static bool classof (const Vulnerability *vuln)
 

The documentation for this class was generated from the following file: