C++: respond to easy comments on ProducFlow.qll

This commit is contained in:
Robert Marsh
2022-08-10 10:11:14 -04:00
parent 0ebd7d0de5
commit 66ce9158a3

View File

@@ -24,37 +24,42 @@ module ProductFlow {
DataFlow::PathNode source1, DataFlow2::PathNode source2, DataFlow::PathNode sink1, DataFlow::PathNode source1, DataFlow2::PathNode source2, DataFlow::PathNode sink1,
DataFlow2::PathNode sink2 DataFlow2::PathNode sink2
) { ) {
isSourcePair(source1.getNode(), source2.getNode()) and
isSinkPair(sink1.getNode(), sink2.getNode()) and isSinkPair(sink1.getNode(), sink2.getNode()) and
reachablePair2(this, source1, source2, sink1, sink2) reachablePair2(this, source1, source2, sink1, sink2)
} }
} }
class Conf1 extends DataFlow::Configuration { private import Internal
Conf1() { this = "Conf1" } module Internal {
class Conf1 extends DataFlow::Configuration {
Conf1() { this = "Conf1" }
override predicate isSource(DataFlow::Node source) { override predicate isSource(DataFlow::Node source) {
exists(Configuration conf | conf.isSourcePair(source, _)) exists(Configuration conf | conf.isSourcePair(source, _))
}
override predicate isSink(DataFlow::Node sink) {
exists(Configuration conf | conf.isSinkPair(sink, _))
}
} }
override predicate isSink(DataFlow::Node sink) { class Conf2 extends DataFlow2::Configuration {
exists(Configuration conf | conf.isSinkPair(sink, _)) Conf2() { this = "Conf2" }
override predicate isSource(DataFlow::Node source) {
exists(Configuration conf, DataFlow::Node source1 |
conf.isSourcePair(source1, source) and
any(Conf1 c).hasFlow(source1, _)
)
}
override predicate isSink(DataFlow::Node sink) {
exists(Configuration conf | conf.isSinkPair(_, sink))
}
} }
} }
class Conf2 extends DataFlow2::Configuration { private predicate reachablePair1(
Conf2() { this = "Conf2" }
override predicate isSource(DataFlow::Node source) {
exists(Configuration conf | conf.isSourcePair(_, source))
}
override predicate isSink(DataFlow::Node sink) {
exists(Configuration conf | conf.isSinkPair(_, sink))
}
}
predicate reachablePair1(
Configuration conf, DataFlow::PathNode source1, DataFlow2::PathNode source2, Configuration conf, DataFlow::PathNode source1, DataFlow2::PathNode source2,
DataFlow::PathNode node1, DataFlow2::PathNode node2 DataFlow::PathNode node1, DataFlow2::PathNode node2
) { ) {
@@ -67,7 +72,7 @@ module ProductFlow {
) )
} }
predicate reachablePair2( private predicate reachablePair2(
Configuration conf, DataFlow::PathNode source1, DataFlow2::PathNode source2, Configuration conf, DataFlow::PathNode source1, DataFlow2::PathNode source2,
DataFlow::PathNode node1, DataFlow2::PathNode node2 DataFlow::PathNode node1, DataFlow2::PathNode node2
) { ) {
@@ -80,7 +85,7 @@ module ProductFlow {
) )
} }
predicate interprocStep( private predicate interprocStep(
Configuration conf, DataFlow::PathNode source1, DataFlow2::PathNode source2, Configuration conf, DataFlow::PathNode source1, DataFlow2::PathNode source2,
DataFlow::PathNode node1, DataFlow2::PathNode node2 DataFlow::PathNode node1, DataFlow2::PathNode node2
) { ) {
@@ -96,7 +101,7 @@ module ProductFlow {
) )
} }
predicate reachablePair( private predicate reachablePair(
Configuration conf, DataFlow::PathNode source1, DataFlow2::PathNode source2, Configuration conf, DataFlow::PathNode source1, DataFlow2::PathNode source2,
DataFlow::PathNode node1, DataFlow2::PathNode node2 DataFlow::PathNode node1, DataFlow2::PathNode node2
) { ) {