mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-03-25 14:01:00 +08:00
disassemble_free_powerpc
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.
This commit is contained in:
parent
86790dfe16
commit
6cda040f1b
@ -767,6 +767,7 @@ disassemble_free_target (struct disassemble_info *info)
|
||||
#endif
|
||||
#ifdef ARCH_powerpc
|
||||
case bfd_arch_powerpc:
|
||||
disassemble_free_powerpc (info);
|
||||
break;
|
||||
#endif
|
||||
#ifdef ARCH_riscv
|
||||
|
@ -105,6 +105,7 @@ extern disassembler_ftype rl78_get_disassembler (bfd *);
|
||||
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);
|
||||
|
||||
|
@ -537,6 +537,16 @@ disassemble_init_powerpc (struct disassemble_info *info)
|
||||
}
|
||||
}
|
||||
|
||||
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
|
||||
|
Loading…
x
Reference in New Issue
Block a user