From 3f0aef4272131caf7d696f28cf4bea676531734e Mon Sep 17 00:00:00 2001 From: Tomas Vanek Date: Thu, 1 Oct 2015 19:17:41 +0200 Subject: [PATCH 1/1] cortex_m: dwt_num_comp should be set to zero in cortex_m_dwt_free() A segmentation fault in cortex_m_endreset_event() is sometimes raised with very broken target like Kinetis Kx with erased flash and active WDOG. Debugging revealed that cortex_m->dwt_num_comp is 4 and dwt_list is NULL at cortex_m:290 Change-Id: I229c59d6da13d816df513d1dbb19968e4b5951e2 Signed-off-by: Tomas Vanek Reviewed-on: http://openocd.zylin.com/2989 Reviewed-by: Thomas Schmid Tested-by: jenkins Reviewed-by: Paul Fertser --- src/target/cortex_m.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/target/cortex_m.c b/src/target/cortex_m.c index b55de1bc6d..88b226d85c 100644 --- a/src/target/cortex_m.c +++ b/src/target/cortex_m.c @@ -1865,6 +1865,7 @@ static void cortex_m_dwt_free(struct target *target) free(cm->dwt_comparator_list); cm->dwt_comparator_list = NULL; + cm->dwt_num_comp = 0; if (cache) { register_unlink_cache(&target->reg_cache, cache); -- 2.30.2