diff options
| -rw-r--r-- | miasm2/core/graph.py | 6 | ||||
| -rw-r--r-- | test/core/graph.py | 12 |
2 files changed, 11 insertions, 7 deletions
diff --git a/miasm2/core/graph.py b/miasm2/core/graph.py index b0dc70d6..00c30d62 100644 --- a/miasm2/core/graph.py +++ b/miasm2/core/graph.py @@ -338,9 +338,9 @@ shape = "box" if runner not in idoms: continue while runner != idoms[node]: - if node not in frontier: - frontier[node] = set() + if runner not in frontier: + frontier[runner] = set() - frontier[node].add(runner) + frontier[runner].add(node) runner = idoms[runner] return frontier diff --git a/test/core/graph.py b/test/core/graph.py index 4ef37040..85218a1c 100644 --- a/test/core/graph.py +++ b/test/core/graph.py @@ -145,11 +145,15 @@ assert(idoms == {3: 6, 9: 4}) frontier = g1.compute_dominance_frontier(1) -assert(frontier == {2: set([2, 5]), - 5: set([3, 4])}) +assert(frontier == {2: set([2]), + 3: set([5]), + 4: set([5]), + 5: set([2])}) frontier = g2.compute_dominance_frontier(1) -assert(frontier == {9: set([7, 8])}) +assert(frontier == {7: set([9]), + 8: set([9])}) frontier = g2.compute_dominance_frontier(5) -assert(frontier == {9: set([7, 8])}) \ No newline at end of file +assert(frontier == {7: set([9]), + 8: set([9])}) \ No newline at end of file |