Swift: Update swift/summary/summary-statistics to DataFlow::ConfigSig.

This commit is contained in:
Geoffrey White
2023-03-10 13:18:13 +00:00
parent 7f06109a4f
commit 7bd0f53df9

View File

@@ -15,20 +15,18 @@ import codeql.swift.dataflow.TaintTracking
/**
* A taint configuration for tainted data reaching any node.
*/
class TaintReachConfig extends TaintTracking::Configuration {
TaintReachConfig() { this = "TaintReachConfig" }
module TaintReachConfig implements DataFlow::ConfigSig {
predicate isSource(DataFlow::Node node) { node instanceof FlowSource }
override predicate isSource(DataFlow::Node node) { node instanceof FlowSource }
override predicate isSink(DataFlow::Node node) { any() }
predicate isSink(DataFlow::Node node) { any() }
}
module TaintReachFlow = TaintTracking::Make<TaintReachConfig>;
/**
* Gets the total number of dataflow nodes that taint reaches (from any source).
*/
int taintedNodesCount() {
exists(TaintReachConfig config | result = count(DataFlow::Node n | config.hasFlowTo(n)))
}
int taintedNodesCount() { result = count(DataFlow::Node n | TaintReachFlow::hasFlowTo(n)) }
/**
* Gets the proportion of dataflow nodes that taint reaches (from any source),