mirror of
https://github.com/github/codeql.git
synced 2025-12-17 01:03:14 +01:00
Fix bad join order
This commit is contained in:
@@ -103,6 +103,10 @@ private Field getASparselyUsedChannelTypedField() {
|
|||||||
count(result.getARead()) = 2
|
count(result.getARead()) = 2
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bindingset[v]
|
||||||
|
pragma[inline_late]
|
||||||
|
private predicate jumpStepHelper(ValueEntity v, Node n) { n = v.getARead() }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Holds if data can flow from `node1` to `node2` in a way that loses the
|
* Holds if data can flow from `node1` to `node2` in a way that loses the
|
||||||
* calling context. For example, this would happen with flow through a
|
* calling context. For example, this would happen with flow through a
|
||||||
@@ -117,7 +121,7 @@ predicate jumpStep(Node n1, Node n2) {
|
|||||||
or
|
or
|
||||||
n1.(DataFlow::PostUpdateNode).getPreUpdateNode() = v.getARead()
|
n1.(DataFlow::PostUpdateNode).getPreUpdateNode() = v.getARead()
|
||||||
) and
|
) and
|
||||||
n2 = v.getARead()
|
jumpStepHelper(v, n2)
|
||||||
)
|
)
|
||||||
or
|
or
|
||||||
exists(SsaExplicitDefinition def, SsaVariableCapture succ |
|
exists(SsaExplicitDefinition def, SsaVariableCapture succ |
|
||||||
|
|||||||
Reference in New Issue
Block a user