aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/rtos/linux.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/rtos/linux.c b/src/rtos/linux.c
index 80d84d73..e692ada8 100644
--- a/src/rtos/linux.c
+++ b/src/rtos/linux.c
@@ -533,7 +533,7 @@ int get_current(struct target *target, int create)
LOG_ERROR
("error in linux current thread update");
- if (create) {
+ if (create && ct) {
struct threads *t;
t = calloc(1, sizeof(struct threads));
t->base_addr = ct->TS;
@@ -1140,13 +1140,12 @@ int linux_gdb_thread_packet(struct target *target,
char *tmp_str = out_str;
tmp_str += sprintf(tmp_str, "m");
struct threads *temp = linux_os->thread_list;
- tmp_str += sprintf(tmp_str, "%016" PRIx64, temp->threadid);
- temp = temp->next;
while (temp != NULL) {
- tmp_str += sprintf(tmp_str, ",");
tmp_str += sprintf(tmp_str, "%016" PRIx64, temp->threadid);
temp = temp->next;
+ if (temp)
+ tmp_str += sprintf(tmp_str, ",");
}
gdb_put_packet(connection, out_str, strlen(out_str));