target: free private_config if target initialisation fails

Fixes private_config memory leak when xx_deinit_target() is not called

Signed-off-by: Tomas Vanek <vanekt@fbl.cz>
Change-Id: Ie7cce7f24af24695e7d2c1cd1882474c6863b80d
Reviewed-on: https://review.openocd.org/c/openocd/+/8642
Tested-by: jenkins
Reviewed-by: zapb <dev@zapb.de>
Reviewed-by: Evgeniy Naydanov <evgeniy.naydanov@syntacore.com>
This commit is contained in:
Tomas Vanek 2024-12-10 13:48:53 +01:00
parent cf115c1e2b
commit d4b3b4ea82
1 changed files with 3 additions and 0 deletions

View File

@ -5848,6 +5848,7 @@ static int target_create(struct jim_getopt_info *goi)
free(target->gdb_port_override);
free(target->trace_info);
free(target->type);
free(target->private_config);
free(target);
return e;
}
@ -5865,6 +5866,7 @@ static int target_create(struct jim_getopt_info *goi)
free(target->gdb_port_override);
free(target->trace_info);
free(target->type);
free(target->private_config);
free(target);
return JIM_ERR;
}
@ -5878,6 +5880,7 @@ static int target_create(struct jim_getopt_info *goi)
free(target->gdb_port_override);
free(target->trace_info);
free(target->type);
free(target->private_config);
free(target);
return JIM_ERR;
}