Skip to content

Commit

Permalink
Merge pull request #1016 from tom-van/free-dm-target_list
Browse files Browse the repository at this point in the history
Free dm and target_list structures
  • Loading branch information
en-sc authored Feb 16, 2024
2 parents 5d4fa00 + c83bd69 commit a5464a5
Showing 1 changed file with 25 additions and 0 deletions.
25 changes: 25 additions & 0 deletions src/target/riscv/riscv-013.c
Original file line number Diff line number Diff line change
Expand Up @@ -280,6 +280,29 @@ static dm013_info_t *get_dm(struct target *target)
return dm;
}

static void riscv013_dm_free(struct target *target)
{
RISCV013_INFO(info);
dm013_info_t *dm = info->dm;
if (!dm)
return;

target_list_t *target_entry;
list_for_each_entry(target_entry, &dm->target_list, list) {
if (target_entry->target == target) {
list_del(&target_entry->list);
free(target_entry);
break;
}
}

if (list_empty(&dm->target_list)) {
list_del(&dm->list);
free(dm);
}
info->dm = NULL;
}

static riscv_debug_reg_ctx_t get_riscv_debug_reg_ctx(const struct target *target)
{
if (!target_was_examined(target)) {
Expand Down Expand Up @@ -1864,6 +1887,8 @@ static void deinit_target(struct target *target)
if (!info)
return;

riscv013_dm_free(target);

free(info->version_specific);
/* TODO: free register arch_info */
info->version_specific = NULL;
Expand Down

0 comments on commit a5464a5

Please sign in to comment.