target: fix segmentation fault on target create
In the unusual (and even incorrect) case of running the command target create ... before defining an adapter and the associated transport, the command causes a segmentation fault. E.g.: openocd -c 'target create cpu cortex-m -endian little' Check that get_current_transport() returns a valid pointer before referencing it. Change-Id: I9796a7e92196ef3df5c7152b27c34102045dc9e7 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/7962 Reviewed-by: Tomas Vanek <vanekt@fbl.cz> Tested-by: jenkins
This commit is contained in:
parent
b39072f2ef
commit
d4575b647a
|
@ -6143,7 +6143,7 @@ static int target_create(struct jim_getopt_info *goi)
|
|||
if (e != JIM_OK)
|
||||
return e;
|
||||
struct transport *tr = get_current_transport();
|
||||
if (tr->override_target) {
|
||||
if (tr && tr->override_target) {
|
||||
e = tr->override_target(&cp);
|
||||
if (e != ERROR_OK) {
|
||||
LOG_ERROR("The selected transport doesn't support this target");
|
||||
|
|
Loading…
Reference in New Issue