aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAntonio Borneo <borneo.antonio@gmail.com>2024-04-08 17:40:09 +0200
committerAntonio Borneo <borneo.antonio@gmail.com>2024-05-04 08:33:54 +0000
commit89d881c19ae89712652f17962b8b7d2e79e25ca3 (patch)
treed8f30a4297e94171465772856472bc5f7eb8b9d0 /src
parent8667a726532604afab099881779a4b898539dabf (diff)
downloadriscv-openocd-89d881c19ae89712652f17962b8b7d2e79e25ca3.zip
riscv-openocd-89d881c19ae89712652f17962b8b7d2e79e25ca3.tar.gz
riscv-openocd-89d881c19ae89712652f17962b8b7d2e79e25ca3.tar.bz2
cortex_m: don't try to halt not-examined targets
Prevent a segmentation fault by preventing to try to halt a target that has not been examined yet. Change-Id: I5d344e7fbdb5422f7c5e2c39bdd48cbc6c2a3e58 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/8213 Tested-by: jenkins
Diffstat (limited to 'src')
-rw-r--r--src/target/cortex_m.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/target/cortex_m.c b/src/target/cortex_m.c
index a26df2e..c225b1a 100644
--- a/src/target/cortex_m.c
+++ b/src/target/cortex_m.c
@@ -1109,6 +1109,11 @@ static int cortex_m_halt_one(struct target *target)
int retval;
LOG_TARGET_DEBUG(target, "target->state: %s", target_state_name(target));
+ if (!target_was_examined(target)) {
+ LOG_TARGET_ERROR(target, "target non examined yet");
+ return ERROR_TARGET_NOT_EXAMINED;
+ }
+
if (target->state == TARGET_HALTED) {
LOG_TARGET_DEBUG(target, "target was already halted");
return ERROR_OK;