Skip to content

Commit 7c30c1a

Browse files
committed
Java: Deprecate isBarrierEdge.
1 parent d3c5644 commit 7c30c1a

File tree

3 files changed

+10
-13
lines changed

3 files changed

+10
-13
lines changed

java/ql/src/Security/CWE/CWE-190/ArithmeticWithExtremeValues.ql

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,9 @@ class ExtremeSourceFlowConfig extends DataFlow::Configuration {
4040

4141
override predicate isSink(DataFlow::Node sink) { sink(_, sink.asExpr()) }
4242

43-
override predicate isBarrierEdge(DataFlow::Node node1, DataFlow::Node node2) {
44-
isSource(node1) and isSource(node2)
43+
override predicate isBarrier(DataFlow::Node n) {
44+
n.getType() instanceof BooleanType or isSource(n)
4545
}
46-
47-
override predicate isBarrier(DataFlow::Node n) { n.getType() instanceof BooleanType }
4846
}
4947

5048
predicate sink(ArithExpr exp, VarAccess use) {

java/ql/src/semmle/code/java/dataflow/TaintTracking.qll

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,10 @@ module TaintTracking {
6363
node.asExpr() instanceof ValidatedVariableAccess
6464
}
6565

66-
/** Holds if the edge from `node1` to `node2` is a taint sanitizer. */
67-
predicate isSanitizerEdge(DataFlow::Node node1, DataFlow::Node node2) { none() }
66+
/** DEPRECATED: override `isSanitizer` instead. */
67+
deprecated predicate isSanitizerEdge(DataFlow::Node node1, DataFlow::Node node2) { none() }
6868

69-
final override predicate isBarrierEdge(DataFlow::Node node1, DataFlow::Node node2) {
69+
deprecated final override predicate isBarrierEdge(DataFlow::Node node1, DataFlow::Node node2) {
7070
isSanitizerEdge(node1, node2)
7171
}
7272

@@ -135,10 +135,10 @@ module TaintTracking {
135135
node.asExpr() instanceof ValidatedVariableAccess
136136
}
137137

138-
/** Holds if the edge from `node1` to `node2` is a taint sanitizer. */
139-
predicate isSanitizerEdge(DataFlow::Node node1, DataFlow::Node node2) { none() }
138+
/** DEPRECATED: override `isSanitizer` instead. */
139+
deprecated predicate isSanitizerEdge(DataFlow::Node node1, DataFlow::Node node2) { none() }
140140

141-
final override predicate isBarrierEdge(DataFlow::Node node1, DataFlow::Node node2) {
141+
deprecated final override predicate isBarrierEdge(DataFlow::Node node1, DataFlow::Node node2) {
142142
isSanitizerEdge(node1, node2)
143143
}
144144

java/ql/src/semmle/code/java/dataflow/internal/DataFlowImpl.qll

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ abstract class Configuration extends string {
5757
/** Holds if data flow through `node` is prohibited. */
5858
predicate isBarrier(Node node) { none() }
5959

60-
/** Holds if data flow from `node1` to `node2` is prohibited. */
61-
predicate isBarrierEdge(Node node1, Node node2) { none() }
60+
/** DEPRECATED: override `isBarrier` instead. */
61+
deprecated predicate isBarrierEdge(Node node1, Node node2) { none() }
6262

6363
/**
6464
* Holds if the additional flow step from `node1` to `node2` must be taken
@@ -136,7 +136,6 @@ private predicate isAdditionalFlowStep(
136136
*/
137137
private predicate localFlowStep(Node node1, Node node2, Configuration config) {
138138
localFlowStep(node1, node2) and
139-
not config.isBarrierEdge(node1, node2) and
140139
not outBarrier(node1, config) and
141140
not inBarrier(node2, config) and
142141
not fullBarrier(node1, config) and

0 commit comments

Comments
 (0)