Skip to content

Commit d16a775

Browse files
committed
Swift: Take out common code.
1 parent d7f50ea commit d16a775

File tree

3 files changed

+22
-38
lines changed

3 files changed

+22
-38
lines changed

swift/ql/test/library-tests/dataflow/taint/Taint.ql

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,27 +3,9 @@
33
*/
44

55
import swift
6-
import codeql.swift.dataflow.TaintTracking
7-
import codeql.swift.dataflow.DataFlow::DataFlow
6+
import Taint
87
import PathGraph
98

10-
class TestConfiguration extends TaintTracking::Configuration {
11-
TestConfiguration() { this = "TestConfiguration" }
12-
13-
override predicate isSource(Node src) {
14-
src.asExpr().(CallExpr).getStaticTarget().getName().matches("source%")
15-
}
16-
17-
override predicate isSink(Node sink) {
18-
exists(CallExpr sinkCall |
19-
sinkCall.getStaticTarget().getName().matches("sink%") and
20-
sinkCall.getAnArgument().getExpr() = sink.asExpr()
21-
)
22-
}
23-
24-
override int explorationLimit() { result = 100 }
25-
}
26-
279
from PathNode src, PathNode sink, TestConfiguration test
2810
where test.hasFlowPath(src, sink)
2911
select sink, src, sink, "result"
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import swift
2+
import codeql.swift.dataflow.TaintTracking
3+
import codeql.swift.dataflow.DataFlow::DataFlow
4+
5+
class TestConfiguration extends TaintTracking::Configuration {
6+
TestConfiguration() { this = "TestConfiguration" }
7+
8+
override predicate isSource(Node src) {
9+
src.asExpr().(CallExpr).getStaticTarget().getName().matches("source%")
10+
}
11+
12+
override predicate isSink(Node sink) {
13+
exists(CallExpr sinkCall |
14+
sinkCall.getStaticTarget().getName().matches("sink%") and
15+
sinkCall.getAnArgument().getExpr() = sink.asExpr()
16+
)
17+
}
18+
19+
override int explorationLimit() { result = 100 }
20+
}

swift/ql/test/library-tests/dataflow/taint/TaintInline.ql

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,7 @@
11
import swift
2-
import codeql.swift.dataflow.TaintTracking
3-
import codeql.swift.dataflow.DataFlow::DataFlow
2+
import Taint
43
import TestUtilities.InlineExpectationsTest
54

6-
class TestConfiguration extends TaintTracking::Configuration {
7-
TestConfiguration() { this = "TestConfiguration" }
8-
9-
override predicate isSource(Node src) {
10-
src.asExpr().(CallExpr).getStaticTarget().getName().matches("source%")
11-
}
12-
13-
override predicate isSink(Node sink) {
14-
exists(CallExpr sinkCall |
15-
sinkCall.getStaticTarget().getName().matches("sink%") and
16-
sinkCall.getAnArgument().getExpr() = sink.asExpr()
17-
)
18-
}
19-
20-
override int explorationLimit() { result = 100 }
21-
}
22-
235
class TaintTest extends InlineExpectationsTest {
246
TaintTest() { this = "TaintTest" }
257

0 commit comments

Comments
 (0)