diff options
Diffstat (limited to 'gdb/disasm.c')
-rw-r--r-- | gdb/disasm.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/gdb/disasm.c b/gdb/disasm.c index 7dfbd2f..e45c840 100644 --- a/gdb/disasm.c +++ b/gdb/disasm.c @@ -781,6 +781,11 @@ gdb_disassembler::gdb_disassembler (struct gdbarch *gdbarch, disassemble_init_for_target (&m_di); } +gdb_disassembler::~gdb_disassembler () +{ + disassemble_free_target (&m_di); +} + int gdb_disassembler::print_insn (CORE_ADDR memaddr, int *branch_delay_insns) @@ -908,7 +913,9 @@ gdb_buffered_insn_length (struct gdbarch *gdbarch, gdb_buffered_insn_length_init_dis (gdbarch, &di, insn, max_len, addr, &disassembler_options_holder); - return gdbarch_print_insn (gdbarch, addr, &di); + int result = gdbarch_print_insn (gdbarch, addr, &di); + disassemble_free_target (&di); + return result; } char * |