]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
riscv disassembler leak
authorAlan Modra <amodra@gmail.com>
Fri, 14 Feb 2025 12:40:29 +0000 (23:10 +1030)
committerAlan Modra <amodra@gmail.com>
Sat, 15 Feb 2025 22:13:10 +0000 (08:43 +1030)
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.

opcodes/riscv-dis.c

index d67b2c2aaf034101e9df173f5da7678c5ecee6dd..84c6deef7b6852ce42f79d4b02620dacc86843ad 100644 (file)
@@ -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);
+    }
 }