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>
This commit is contained in:
Tomas Vanek 2019-01-09 13:01:50 +01:00
parent 877cec20dc
commit 7345801b69
1 changed files with 1 additions and 2 deletions

View File

@ -5882,8 +5882,7 @@ static const struct command_registration target_subcommand_handlers[] = {
}, },
{ {
.name = "create", .name = "create",
/* REVISIT this should be COMMAND_CONFIG ... */ .mode = COMMAND_CONFIG,
.mode = COMMAND_ANY,
.jim_handler = jim_target_create, .jim_handler = jim_target_create,
.usage = "name type '-chain-position' name [options ...]", .usage = "name type '-chain-position' name [options ...]",
.help = "Creates and selects a new target", .help = "Creates and selects a new target",