mirror of
https://github.com/github/codeql.git
synced 2025-12-21 03:06:31 +01:00
C++: respond to easy comments on ProducFlow.qll
This commit is contained in:
@@ -24,12 +24,13 @@ 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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private import Internal
|
||||||
|
module Internal {
|
||||||
class Conf1 extends DataFlow::Configuration {
|
class Conf1 extends DataFlow::Configuration {
|
||||||
Conf1() { this = "Conf1" }
|
Conf1() { this = "Conf1" }
|
||||||
|
|
||||||
@@ -46,15 +47,19 @@ module ProductFlow {
|
|||||||
Conf2() { this = "Conf2" }
|
Conf2() { this = "Conf2" }
|
||||||
|
|
||||||
override predicate isSource(DataFlow::Node source) {
|
override predicate isSource(DataFlow::Node source) {
|
||||||
exists(Configuration conf | conf.isSourcePair(_, source))
|
exists(Configuration conf, DataFlow::Node source1 |
|
||||||
|
conf.isSourcePair(source1, source) and
|
||||||
|
any(Conf1 c).hasFlow(source1, _)
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
override predicate isSink(DataFlow::Node sink) {
|
override predicate isSink(DataFlow::Node sink) {
|
||||||
exists(Configuration conf | conf.isSinkPair(_, sink))
|
exists(Configuration conf | conf.isSinkPair(_, sink))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
predicate reachablePair1(
|
private 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
|
||||||
) {
|
) {
|
||||||
|
|||||||
Reference in New Issue
Block a user