diff options
| -rw-r--r-- | miasm2/ir/ir.py | 9 |
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]) |