Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit f60ca76

Browse files
committed
Make EmailInjection use new API
1 parent 1962aa3 commit f60ca76

2 files changed

Lines changed: 14 additions & 4 deletions

File tree

go/ql/src/Security/CWE-640/EmailInjection.ql

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@
1313
*/
1414

1515
import go
16-
import DataFlow::PathGraph
1716
import EmailInjection::EmailInjection
17+
import Flow::PathGraph
1818

19-
from DataFlow::PathNode source, DataFlow::PathNode sink, Configuration config
20-
where config.hasFlowPath(source, sink)
19+
from Flow::PathNode source, Flow::PathNode sink
20+
where Flow::flowPath(source, sink)
2121
select sink, source, sink, "Email content may contain $@.", source.getNode(), "untrusted input"

go/ql/src/Security/CWE-640/EmailInjection.qll

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,23 @@ module EmailInjection {
1717
import EmailInjectionCustomizations::EmailInjection
1818

1919
/**
20+
* DEPRECATED: Use `Flow` instead.
21+
*
2022
* A taint-tracking configuration for reasoning about email-injection vulnerabilities.
2123
*/
22-
class Configuration extends TaintTracking::Configuration {
24+
deprecated class Configuration extends TaintTracking::Configuration {
2325
Configuration() { this = "Email Injection" }
2426

2527
override predicate isSource(DataFlow::Node source) { source instanceof Source }
2628

2729
override predicate isSink(DataFlow::Node sink) { sink instanceof Sink }
2830
}
31+
32+
private module Config implements DataFlow::ConfigSig {
33+
predicate isSource(DataFlow::Node source) { source instanceof Source }
34+
35+
predicate isSink(DataFlow::Node sink) { sink instanceof Sink }
36+
}
37+
38+
module Flow = TaintTracking::Global<Config>;
2939
}

0 commit comments

Comments
 (0)