about summary refs log tree commit diff
path: root/linuxthreads_db/td_thr_tsd.c
diff options
context:
space:
mode:
Diffstat (limited to 'linuxthreads_db/td_thr_tsd.c')
-rw-r--r--linuxthreads_db/td_thr_tsd.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/linuxthreads_db/td_thr_tsd.c b/linuxthreads_db/td_thr_tsd.c
index aa362fe68a..95dec466c2 100644
--- a/linuxthreads_db/td_thr_tsd.c
+++ b/linuxthreads_db/td_thr_tsd.c
@@ -36,6 +36,11 @@ td_thr_tsd (const td_thrhandle_t *th, const thread_key_t tk, void **data)
 
   LOG ("td_thr_tsd");
 
+  /* If there is no thread descriptor there cannot be any thread
+     specific data.  */
+  if (th->th_unique == NULL)
+    return TD_BADKEY;
+
   /* Get the thread descriptor.  */
   if (ps_pdread (th->th_ta_p->ph, th->th_unique, &pds,
 		 sizeof (struct _pthread_descr_struct)) != PS_OK)