aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Fertser <fercerpav@gmail.com>2014-04-07 12:33:53 +0400
committerPaul Fertser <fercerpav@gmail.com>2014-04-14 18:12:30 +0000
commitee54f7e9f0ad096d8db91a302c70d18d250db74b (patch)
tree4f42878381e8c46c3b1e71b8813c7f117853170a
parent85c1790beb955658fe8eeab2fe0904206aeb88a6 (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.c2
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);