mirror of
https://github.com/github/codeql.git
synced 2026-05-02 04:05:14 +02:00
Java: Deprecate isBarrierEdge.
This commit is contained in:
@@ -40,11 +40,9 @@ class ExtremeSourceFlowConfig extends DataFlow::Configuration {
|
||||
|
||||
override predicate isSink(DataFlow::Node sink) { sink(_, sink.asExpr()) }
|
||||
|
||||
override predicate isBarrierEdge(DataFlow::Node node1, DataFlow::Node node2) {
|
||||
isSource(node1) and isSource(node2)
|
||||
override predicate isBarrier(DataFlow::Node n) {
|
||||
n.getType() instanceof BooleanType or isSource(n)
|
||||
}
|
||||
|
||||
override predicate isBarrier(DataFlow::Node n) { n.getType() instanceof BooleanType }
|
||||
}
|
||||
|
||||
predicate sink(ArithExpr exp, VarAccess use) {
|
||||
|
||||
@@ -63,10 +63,10 @@ module TaintTracking {
|
||||
node.asExpr() instanceof ValidatedVariableAccess
|
||||
}
|
||||
|
||||
/** Holds if the edge from `node1` to `node2` is a taint sanitizer. */
|
||||
predicate isSanitizerEdge(DataFlow::Node node1, DataFlow::Node node2) { none() }
|
||||
/** DEPRECATED: override `isSanitizer` instead. */
|
||||
deprecated predicate isSanitizerEdge(DataFlow::Node node1, DataFlow::Node node2) { none() }
|
||||
|
||||
final override predicate isBarrierEdge(DataFlow::Node node1, DataFlow::Node node2) {
|
||||
deprecated final override predicate isBarrierEdge(DataFlow::Node node1, DataFlow::Node node2) {
|
||||
isSanitizerEdge(node1, node2)
|
||||
}
|
||||
|
||||
@@ -135,10 +135,10 @@ module TaintTracking {
|
||||
node.asExpr() instanceof ValidatedVariableAccess
|
||||
}
|
||||
|
||||
/** Holds if the edge from `node1` to `node2` is a taint sanitizer. */
|
||||
predicate isSanitizerEdge(DataFlow::Node node1, DataFlow::Node node2) { none() }
|
||||
/** DEPRECATED: override `isSanitizer` instead. */
|
||||
deprecated predicate isSanitizerEdge(DataFlow::Node node1, DataFlow::Node node2) { none() }
|
||||
|
||||
final override predicate isBarrierEdge(DataFlow::Node node1, DataFlow::Node node2) {
|
||||
deprecated final override predicate isBarrierEdge(DataFlow::Node node1, DataFlow::Node node2) {
|
||||
isSanitizerEdge(node1, node2)
|
||||
}
|
||||
|
||||
|
||||
@@ -57,8 +57,8 @@ abstract class Configuration extends string {
|
||||
/** Holds if data flow through `node` is prohibited. */
|
||||
predicate isBarrier(Node node) { none() }
|
||||
|
||||
/** Holds if data flow from `node1` to `node2` is prohibited. */
|
||||
predicate isBarrierEdge(Node node1, Node node2) { none() }
|
||||
/** DEPRECATED: override `isBarrier` instead. */
|
||||
deprecated predicate isBarrierEdge(Node node1, Node node2) { none() }
|
||||
|
||||
/**
|
||||
* Holds if the additional flow step from `node1` to `node2` must be taken
|
||||
@@ -136,7 +136,6 @@ private predicate isAdditionalFlowStep(
|
||||
*/
|
||||
private predicate localFlowStep(Node node1, Node node2, Configuration config) {
|
||||
localFlowStep(node1, node2) and
|
||||
not config.isBarrierEdge(node1, node2) and
|
||||
not outBarrier(node1, config) and
|
||||
not inBarrier(node2, config) and
|
||||
not fullBarrier(node1, config) and
|
||||
|
||||
Reference in New Issue
Block a user