about summary refs log tree commit diff
path: root/linuxthreads_db/td_thr_setfpregs.c
diff options
context:
space:
mode:
Diffstat (limited to 'linuxthreads_db/td_thr_setfpregs.c')
-rw-r--r--linuxthreads_db/td_thr_setfpregs.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/linuxthreads_db/td_thr_setfpregs.c b/linuxthreads_db/td_thr_setfpregs.c
index 0d4fce5402..e4d9ec65e7 100644
--- a/linuxthreads_db/td_thr_setfpregs.c
+++ b/linuxthreads_db/td_thr_setfpregs.c
@@ -1,5 +1,5 @@
 /* Set a thread's floating-point register set.
-   Copyright (C) 1999, 2001 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999.
 
@@ -24,12 +24,13 @@
 td_err_e
 td_thr_setfpregs (const td_thrhandle_t *th, const prfpregset_t *fpregs)
 {
-  struct _pthread_descr_struct pds;
+  struct _pthread_descr_struct pds = { .p_terminated = 0, .p_pid = 0 };
 
   LOG ("td_thr_setfpregs");
 
   /* We have to get the state and the PID for this thread.  */
-  if (ps_pdread (th->th_ta_p->ph, th->th_unique, &pds,
+  if (th->th_unique != NULL
+      && ps_pdread (th->th_ta_p->ph, th->th_unique, &pds,
                  sizeof (struct _pthread_descr_struct)) != PS_OK)
     return TD_ERR;