Skip to content

Commit a01b211

Browse files
authored
Merge pull request #19185 from hvitved/rust/ssa-capture-psudeo-read-dominate
Rust: Fix `capturedCallRead`
2 parents 145c141 + dcaeeab commit a01b211

File tree

5 files changed

+95
-100
lines changed

5 files changed

+95
-100
lines changed

rust/ql/lib/codeql/rust/dataflow/Ssa.qll

+1-1
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,7 @@ module Ssa {
263263
not exists(this.getSplitString()) and
264264
prefix = ""
265265
|
266-
result = prefix + "phi"
266+
result = prefix + SsaImpl::PhiDefinition.super.toString()
267267
)
268268
}
269269

rust/ql/lib/codeql/rust/dataflow/internal/SsaImpl.qll

+1-1
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ private predicate capturedCallRead(Expr call, BasicBlock bb, int i, Variable v)
189189
hasCapturedRead(pragma[only_bind_into](v), pragma[only_bind_into](scope)) and
190190
(
191191
variableWriteInOuterScope(bb, any(int j | j < i), v, scope) or
192-
variableWriteInOuterScope(bb.getAPredecessor+(), _, v, scope)
192+
variableWriteInOuterScope(bb.getImmediateDominator+(), _, v, scope)
193193
) and
194194
call = bb.getNode(i).getAstNode()
195195
)

0 commit comments

Comments
 (0)