Skip to content

Commit d4e2b84

Browse files
committed
Cleanup helper dataflow configuration
1 parent f05f161 commit d4e2b84

File tree

1 file changed

+4
-7
lines changed

1 file changed

+4
-7
lines changed

java/ql/lib/semmle/code/java/security/TaintedEnvironmentVariableQuery.qll

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,16 @@ private import semmle.code.java.Maps
77
private import semmle.code.java.JDK
88

99
private module ProcessBuilderEnvironmentConfig implements DataFlow::ConfigSig {
10-
predicate isSource(DataFlow::Node source) { source.getType() instanceof TypeProcessBuilder }
11-
12-
predicate isAdditionalFlowStep(DataFlow::Node node1, DataFlow::Node node2) {
13-
exists(MethodCall mc | mc.getQualifier() = node1.asExpr() and mc = node2.asExpr() |
10+
predicate isSource(DataFlow::Node source) {
11+
exists(MethodCall mc | mc = source.asExpr() |
1412
mc.getMethod().hasQualifiedName("java.lang", "ProcessBuilder", "environment")
1513
)
1614
}
1715

1816
predicate isSink(DataFlow::Node sink) { sink.asExpr() = any(MapPutCall mpc).getQualifier() }
1917
}
2018

21-
private module ProcessBuilderEnvironmentFlow =
22-
TaintTracking::Global<ProcessBuilderEnvironmentConfig>;
19+
private module ProcessBuilderEnvironmentFlow = DataFlow::Global<ProcessBuilderEnvironmentConfig>;
2320

2421
module ExecTaintedEnvironmentConfig implements DataFlow::ConfigSig {
2522
predicate isSource(DataFlow::Node source) { source instanceof ThreatModelFlowSource }
@@ -28,7 +25,7 @@ module ExecTaintedEnvironmentConfig implements DataFlow::ConfigSig {
2825
sinkNode(sink, "environment-injection")
2926
or
3027
exists(MapPutCall mpc | mpc.getAnArgument() = sink.asExpr() |
31-
ProcessBuilderEnvironmentFlow::flow(_, DataFlow::exprNode(mpc.getQualifier()))
28+
ProcessBuilderEnvironmentFlow::flowToExpr(mpc.getQualifier())
3229
)
3330
}
3431
}

0 commit comments

Comments
 (0)