aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomas Vanek <vanekt@fbl.cz>2019-01-09 13:01:50 +0100
committerTomas Vanek <vanekt@fbl.cz>2019-01-27 20:59:54 +0000
commit7345801b69d2511252d587159bb9758532797233 (patch)
tree641a985576ca0a90e3099b0efac610ac3e4c86c2
parent877cec20dca6e78f9f029f0f173879cda101a6c2 (diff)
downloadriscv-openocd-7345801b69d2511252d587159bb9758532797233.zip
riscv-openocd-7345801b69d2511252d587159bb9758532797233.tar.gz
riscv-openocd-7345801b69d2511252d587159bb9758532797233.tar.bz2
target: do not allow 'target create' after init
A target created after init lacks target_init_one() call and is not added to gdb targets. Steps to reproduce: - start OpenOCD with a dap target - connect by telnet target create ap0.mem mem_ap -dap $_CHIPNAME.dap -ap-num 0 reset Segmentation fault is rised because target->check_reset is NULL. Change-Id: I2a62f3b450e4db3005c7041a22fb8f952e68c3b6 Signed-off-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-on: http://openocd.zylin.com/4842 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
-rw-r--r--src/target/target.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/target/target.c b/src/target/target.c
index b4bf5d3..7e30d78 100644
--- a/src/target/target.c
+++ b/src/target/target.c
@@ -5882,8 +5882,7 @@ static const struct command_registration target_subcommand_handlers[] = {
},
{
.name = "create",
- /* REVISIT this should be COMMAND_CONFIG ... */
- .mode = COMMAND_ANY,
+ .mode = COMMAND_CONFIG,
.jim_handler = jim_target_create,
.usage = "name type '-chain-position' name [options ...]",
.help = "Creates and selects a new target",