aboutsummaryrefslogtreecommitdiff
path: root/src/target
diff options
context:
space:
mode:
authorTomas Vanek <vanekt@fbl.cz>2018-03-22 00:20:15 +0100
committerMatthias Welwarsky <matthias@welwarsky.de>2018-03-30 10:15:23 +0100
commit6eba3777fca4a3e8c0d91dce9caedfeb9c08dc67 (patch)
treea8b46c489c58c2545af44fa8c6695baa27e26419 /src/target
parent37deb37593c20c05a4bb29e1d88671a1f7ec6548 (diff)
jtag/core, target: unregister JTAG events
Also call adapter_exit() before command_exit() as the latter releases Jim interpreter so JTAG events should be released before. Fixes memory leak reported by valgrind Change-Id: I493f3fcba34ea2b4234148e79a4e329c866e0f05 Signed-off-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-on: http://openocd.zylin.com/4474 Tested-by: jenkins Reviewed-by: Matthias Welwarsky <matthias@welwarsky.de>
Diffstat (limited to 'src/target')
-rw-r--r--src/target/target.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/target/target.c b/src/target/target.c
index 10426023..ac2e1d03 100644
--- a/src/target/target.c
+++ b/src/target/target.c
@@ -1893,6 +1893,8 @@ static void target_destroy(struct target *target)
if (target->type->deinit_target)
target->type->deinit_target(target);
+ jtag_unregister_event_callback(jtag_enable_callback, target);
+
struct target_event_action *teap = target->event_action;
while (teap) {
struct target_event_action *next = teap->next;