aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMarc Schink <dev@zapb.de>2023-11-01 09:27:05 +0100
committerAntonio Borneo <borneo.antonio@gmail.com>2023-11-18 11:16:53 +0000
commit3862e07688ea68298841891145deddd226c3c7e5 (patch)
treed6fa9b5e4a05d4a749e3fee205f518b94bd2beca /src
parentd4575b647a3603200a9bb4a784d170f792ab88d0 (diff)
downloadriscv-openocd-3862e07688ea68298841891145deddd226c3c7e5.zip
riscv-openocd-3862e07688ea68298841891145deddd226c3c7e5.tar.gz
riscv-openocd-3862e07688ea68298841891145deddd226c3c7e5.tar.bz2
target: Remove break/watchpoints in target_destroy()
Break- and watchpoints are not removed when a target is destroyed which introduces a memory leak. Change-Id: I6143d48f7efd765b7752a12fdc337da3496d896f Signed-off-by: Marc Schink <dev@zapb.de> Reviewed-on: https://review.openocd.org/c/openocd/+/7956 Reviewed-by: Marek Vrbka <marek.vrbka@codasip.com> Reviewed-by: Tomas Vanek <vanekt@fbl.cz> Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/target/target.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/target/target.c b/src/target/target.c
index 148bc9f..30f7029 100644
--- a/src/target/target.c
+++ b/src/target/target.c
@@ -2212,6 +2212,9 @@ uint32_t target_get_working_area_avail(struct target *target)
static void target_destroy(struct target *target)
{
+ breakpoint_remove_all(target);
+ watchpoint_remove_all(target);
+
if (target->type->deinit_target)
target->type->deinit_target(target);