about summary refs log tree commit diff stats
path: root/miasm2/core/asmbloc.py
diff options
context:
space:
mode:
authorCamille Mougey <commial@gmail.com>2016-03-16 12:17:22 +0100
committerCamille Mougey <commial@gmail.com>2016-03-16 12:17:22 +0100
commit6757c3a12629240ff2534d4692a6d2d9c605230f (patch)
tree22a6c8db17f9951b04a8fc39bc0ae8d848059561 /miasm2/core/asmbloc.py
parent0bcc00e10a1f9ea996f655b662a004b033063294 (diff)
parent3fdfc8edacdd796d66182b9fb51daff2911c874a (diff)
downloadmiasm-6757c3a12629240ff2534d4692a6d2d9c605230f.tar.gz
miasm-6757c3a12629240ff2534d4692a6d2d9c605230f.zip
Merge pull request #336 from serpilliere/asmcfg_pending
Asmcfg pending
Diffstat (limited to 'miasm2/core/asmbloc.py')
-rw-r--r--miasm2/core/asmbloc.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/miasm2/core/asmbloc.py b/miasm2/core/asmbloc.py
index e4f1db68..96c2f4ec 100644
--- a/miasm2/core/asmbloc.py
+++ b/miasm2/core/asmbloc.py
@@ -946,6 +946,14 @@ class AsmCFG(DiGraph):
                     log_asmbloc.error("Cannot split %x!!", off)
                     continue
 
+                # Remove pending from cur_block
+                # Links from new_b will be generated in rebuild_edges
+                for dst in new_b.bto:
+                    if dst.label not in self.pendings:
+                        continue
+                    self.pendings[dst.label] = set(pending for pending in self.pendings[dst.label]
+                                                   if pending.waiter != cur_block)
+
                 # The new block destinations may need to be disassembled
                 if dis_block_callback:
                     offsets_to_dis = set(constraint.label.offset