diff options
Diffstat (limited to 'miasm2/analysis/depgraph.py')
| -rw-r--r-- | miasm2/analysis/depgraph.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/miasm2/analysis/depgraph.py b/miasm2/analysis/depgraph.py index 724d412c..5c46a081 100644 --- a/miasm2/analysis/depgraph.py +++ b/miasm2/analysis/depgraph.py @@ -495,7 +495,7 @@ class DependencyGraph(object): current_depdict.pending.update(depnodes) # Init the work list - done = [] + done = {} todo = [current_depdict] while todo: @@ -505,9 +505,10 @@ class DependencyGraph(object): self._updateDependencyDict(depdict) # Avoid infinite loops - if depdict in done: + label = depdict.label + if depdict in done.get(label, []): continue - done.append(depdict) + done.setdefault(label, []).append(depdict) # No more dependencies if len(depdict.pending) == 0: |