This fixes leaks in a ppc disassembler buffer. I'm not sure now why I
used a private buffer for section contents, but I'm not going to
change that just now.
* disassemble.h (disassemble_free_powerpc): Declare.
* disassemble.c (disassemble_free_target): Call it.
* ppc-dis.c (disassemble_free_powerpc): New function.
#endif
#ifdef ARCH_powerpc
case bfd_arch_powerpc:
+ disassemble_free_powerpc (info);
break;
#endif
#ifdef ARCH_riscv
extern disassembler_ftype riscv_get_disassembler (bfd *);
extern void disassemble_free_riscv (disassemble_info *);
+extern void disassemble_free_powerpc (disassemble_info *);
extern void ATTRIBUTE_NORETURN opcodes_assert (const char *, int);
}
}
+void
+disassemble_free_powerpc (struct disassemble_info *info)
+{
+ if (info->private_data != NULL)
+ {
+ free (private_data (info)->special[0].buf);
+ free (private_data (info)->special[1].buf);
+ }
+}
+
/* Print a big endian PowerPC instruction. */
int