Java: Port varBlockReaches fix to BaseSSA.qll

This commit is contained in:
Rasmus Wriedt Larsen
2020-09-21 12:11:25 +02:00
parent fb3060dc3d
commit 233dd43635

View File

@@ -330,7 +330,9 @@ private module SsaImpl {
* between `b1` and `b2`.
*/
private predicate varBlockReaches(BaseSsaSourceVariable v, BasicBlock b1, BasicBlock b2) {
varOccursInBlock(v, b1) and b2 = b1.getABBSuccessor()
varOccursInBlock(v, b1) and
b2 = b1.getABBSuccessor() and
blockPrecedesVar(v, b2)
or
exists(BasicBlock mid |
varBlockReaches(v, b1, mid) and