Skip to content

Commit 1af5d58

Browse files
authored
Added a visited cycle-detection guard in the *ssa.Phi case (#1626)
Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
1 parent 48e8716 commit 1af5d58

1 file changed

Lines changed: 4 additions & 0 deletions

File tree

taint/taint.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1057,6 +1057,10 @@ func (a *Analyzer) isFieldTaintedOnValue(v ssa.Value, fieldIdx int, fn *ssa.Func
10571057
case *ssa.Alloc:
10581058
return a.isFieldOfAllocTainted(val, fieldIdx, fn, visited, depth)
10591059
case *ssa.Phi:
1060+
if visited[v] {
1061+
return false
1062+
}
1063+
visited[v] = true
10601064
for _, edge := range val.Edges {
10611065
if a.isFieldTaintedOnValue(edge, fieldIdx, fn, visited, depth+1) {
10621066
return true

0 commit comments

Comments
 (0)