From: Tomas Vanek Date: Thu, 1 Oct 2015 17:17:41 +0000 (+0200) Subject: cortex_m: dwt_num_comp should be set to zero in cortex_m_dwt_free() X-Git-Tag: v0.10.0-rc1~402 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=3f0aef4272131caf7d696f28cf4bea676531734e;p=openocd 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 --- diff --git a/src/target/cortex_m.c b/src/target/cortex_m.c index b55de1bc..88b226d8 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);