target/cortex_m: prevent segmentation fault in cortex_m_poll()
authorTomas Vanek <vanekt@fbl.cz>
Tue, 2 Aug 2022 09:33:07 +0000 (11:33 +0200)
committerTomas Vanek <vanekt@fbl.cz>
Sun, 14 Aug 2022 12:11:26 +0000 (12:11 +0000)
commitb6dad912b85d6bcd78c12a7a44065fb85dd8485a
treee45b2db1268ac402ac53da4111da3885a687f94f
parentcae0c8b32b32202f3552860f12f6579e8ad8ce4a
target/cortex_m: prevent segmentation fault in cortex_m_poll()

If a Cortex-M MCU become unresponsive during a debug session and
re-examination fails to find MEM-AP, debug_ap pointer is set to NULL.

Eventual call of cortex_m_poll() dereferences debug_ap.

Check debug_ap validity at the begin of cortex_m_poll().

Change-Id: I9519f48760c91a48a9e5e8c34634d247098cb14a
Fixes: 35a503b08d14 (arm_adi_v5: add ap refcount and add get/put around ap use)
Signed-off-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-on: https://review.openocd.org/c/openocd/+/7108
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
src/target/cortex_m.c