From a851b91c4c1db76dd1e26a7d1a99124ad456b020 Mon Sep 17 00:00:00 2001 From: Marc Schink Date: Wed, 6 Feb 2019 12:07:10 +0100 Subject: [PATCH] target/riscv-011: Fix memory leak in handle_halt_routine() Tested with SiFive HiFive1 development board. Change-Id: Ie0d9fa0899804d17ccdd84b03ba4028e97b632b8 Signed-off-by: Marc Schink Reviewed-on: http://openocd.zylin.com/4884 Tested-by: jenkins Reviewed-by: Tim Newsome Reviewed-by: Tomas Vanek --- src/target/riscv/riscv-011.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/target/riscv/riscv-011.c b/src/target/riscv/riscv-011.c index 3820d8fc0f..bd3f159fbe 100644 --- a/src/target/riscv/riscv-011.c +++ b/src/target/riscv/riscv-011.c @@ -1806,6 +1806,8 @@ static riscv_error_t handle_halt_routine(struct target *target) } } + scans_delete(scans); + if (dbus_busy) { increase_dbus_busy_delay(target); return RE_AGAIN; @@ -1819,8 +1821,6 @@ static riscv_error_t handle_halt_routine(struct target *target) info->dpc = reg_cache_get(target, CSR_DPC); info->dcsr = reg_cache_get(target, CSR_DCSR); - scans_delete(scans); - cache_invalidate(target); return RE_OK; -- 2.30.2