Skip to content

Commit 4023cd3

Browse files
committed
C#: Re-factor the dataflow/global tests.
1 parent a2c7388 commit 4023cd3

File tree

5 files changed

+17
-25
lines changed

5 files changed

+17
-25
lines changed
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
import csharp
22

3-
class Config extends DataFlow::Configuration {
4-
Config() { this = "Config" }
5-
6-
override predicate isSource(DataFlow::Node source) {
3+
module FlowConfig implements DataFlow::ConfigSig {
4+
predicate isSource(DataFlow::Node source) {
75
source.asExpr().(StringLiteral).getValue() = "taint source"
86
or
97
source.asParameter().hasName("tainted")
108
}
119

12-
override predicate isSink(DataFlow::Node sink) {
10+
predicate isSink(DataFlow::Node sink) {
1311
exists(MethodCall mc |
1412
mc.getTarget().getUndecoratedName() = "Check" and
1513
mc.getAnArgument() = sink.asExpr()
1614
)
1715
}
1816
}
17+
18+
module Flow = DataFlow::Global<FlowConfig>;
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import csharp
22
import Common
33

4-
from Config c, DataFlow::Node source, DataFlow::Node sink
5-
where c.hasFlow(source, sink)
4+
from DataFlow::Node source, DataFlow::Node sink
5+
where Flow::flow(source, sink)
66
select sink

csharp/ql/test/library-tests/dataflow/global/DataFlowPath.ql

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44

55
import csharp
66
import Common
7-
import DataFlow::PathGraph
7+
import Flow::PathGraph
88

9-
from Config c, DataFlow::PathNode source, DataFlow::PathNode sink, string s
9+
from Flow::PathNode source, Flow::PathNode sink, string s
1010
where
11-
c.hasFlowPath(source, sink) and
11+
Flow::flowPath(source, sink) and
1212
s = sink.toString()
1313
select sink, source, sink, s order by s
Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,8 @@
11
import csharp
22
import Common
33

4-
class TTConfig extends TaintTracking::Configuration instanceof Config {
5-
override predicate isSource(DataFlow::Node source) { Config.super.isSource(source) }
4+
module Taint = TaintTracking::Global<FlowConfig>;
65

7-
override predicate isSink(DataFlow::Node sink) { Config.super.isSink(sink) }
8-
}
9-
10-
from TTConfig c, DataFlow::Node source, DataFlow::Node sink
11-
where c.hasFlow(source, sink)
6+
from DataFlow::Node source, DataFlow::Node sink
7+
where Taint::flow(source, sink)
128
select sink

csharp/ql/test/library-tests/dataflow/global/TaintTrackingPath.ql

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,12 @@
44

55
import csharp
66
import Common
7-
import DataFlow::PathGraph
7+
import Taint::PathGraph
88

9-
class TTConfig extends TaintTracking::Configuration instanceof Config {
10-
override predicate isSource(DataFlow::Node source) { Config.super.isSource(source) }
9+
module Taint = TaintTracking::Global<FlowConfig>;
1110

12-
override predicate isSink(DataFlow::Node sink) { Config.super.isSink(sink) }
13-
}
14-
15-
from TTConfig c, DataFlow::PathNode source, DataFlow::PathNode sink, string s
11+
from Taint::PathNode source, Taint::PathNode sink, string s
1612
where
17-
c.hasFlowPath(source, sink) and
13+
Taint::flowPath(source, sink) and
1814
s = sink.toString()
1915
select sink, source, sink, s

0 commit comments

Comments
 (0)