about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--miasm2/ir/ir.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/miasm2/ir/ir.py b/miasm2/ir/ir.py
index 582faee6..0d4ec9fb 100644
--- a/miasm2/ir/ir.py
+++ b/miasm2/ir/ir.py
@@ -409,8 +409,13 @@ class ir(object):
         for b in ir_blocs:
             if b.dst is not None:
                 continue
-            dst = m2_expr.ExprId(self.get_next_label(bloc.lines[-1]),
-                                 self.pc.size)
+            next_lbl = bloc.get_next()
+            if next_lbl is None:
+                dst = m2_expr.ExprId(self.get_next_label(bloc.lines[-1]),
+                                     self.pc.size)
+            else:
+                dst = m2_expr.ExprId(next_lbl,
+                                     self.pc.size)
             b.irs.append(AssignBlock([m2_expr.ExprAff(self.IRDst, dst)]))
             b.lines.append(b.lines[-1])