about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--miasm2/core/graph.py6
-rw-r--r--test/core/graph.py12
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