diff options
author | Paul Fertser <fercerpav@gmail.com> | 2014-04-07 12:33:53 +0400 |
---|---|---|
committer | Paul Fertser <fercerpav@gmail.com> | 2014-04-14 18:12:30 +0000 |
commit | ee54f7e9f0ad096d8db91a302c70d18d250db74b (patch) | |
tree | 4f42878381e8c46c3b1e71b8813c7f117853170a | |
parent | 85c1790beb955658fe8eeab2fe0904206aeb88a6 (diff) |
target/cortex_a: check gdb_service before dereferencing in update_halt_gdb
If gdb was disconnected by the moment the target entered halted state,
update_halt_gdb would segfault.
Change-Id: I67477e9199c1df097be83a49e38602f975c083f5
Reported-by: Younes REGAIEG <younes.regaieg@imag.fr>
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2098
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
-rw-r--r-- | src/target/cortex_a.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/target/cortex_a.c b/src/target/cortex_a.c index e95297cb..50eb9d48 100644 --- a/src/target/cortex_a.c +++ b/src/target/cortex_a.c @@ -766,7 +766,7 @@ static int cortex_a8_halt_smp(struct target *target) static int update_halt_gdb(struct target *target) { int retval = 0; - if (target->gdb_service->core[0] == -1) { + if (target->gdb_service && target->gdb_service->core[0] == -1) { target->gdb_service->target = target; target->gdb_service->core[0] = target->coreid; retval += cortex_a8_halt_smp(target); |