[binutils-gdb] riscv disassembler leak
Alan Modra
amodra@sourceware.org
Sat Feb 15 22:35:32 GMT 2025
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=3a69ff93b5667f357636b292206b43c90b416290
commit 3a69ff93b5667f357636b292206b43c90b416290
Author: Alan Modra <amodra@gmail.com>
Date: Fri Feb 14 23:10:29 2025 +1030
riscv disassembler leak
Commit 3f61a38b5e81 moved the disassembler subset_list from a static
variable to disassembler private_data. It is now malloc'd in
riscv_init_disasm_info so should be freed when disassemble_free_target
runs.
* riscv-dis.c (disassemble_free_riscv): Free subset_list.
Diff:
---
opcodes/riscv-dis.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/opcodes/riscv-dis.c b/opcodes/riscv-dis.c
index d67b2c2aaf0..84c6deef7b6 100644
--- a/opcodes/riscv-dis.c
+++ b/opcodes/riscv-dis.c
@@ -1683,5 +1683,8 @@ void disassemble_free_riscv (struct disassemble_info *info ATTRIBUTE_UNUSED)
{
struct riscv_private_data *pd = info->private_data;
if (pd)
- riscv_release_subset_list (pd->riscv_rps_dis.subset_list);
+ {
+ riscv_release_subset_list (pd->riscv_rps_dis.subset_list);
+ free (pd->riscv_rps_dis.subset_list);
+ }
}
More information about the Binutils-cvs
mailing list