diff options
author | Roland McGrath <roland@gnu.org> | 2002-11-14 00:48:38 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2002-11-14 00:48:38 +0000 |
commit | cdedcc7943114bbbcbc2be1a0ef5716b0ef2e862 (patch) | |
tree | f1a610e971d0fe8da26eafb54d9c680de28ce1e4 /sysdeps | |
parent | e2df2b3e64a97bc698d6492402a94c8b7131963a (diff) | |
download | glibc-cdedcc7943114bbbcbc2be1a0ef5716b0ef2e862.zip glibc-cdedcc7943114bbbcbc2be1a0ef5716b0ef2e862.tar.gz glibc-cdedcc7943114bbbcbc2be1a0ef5716b0ef2e862.tar.bz2 |
* sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage): Zero the space
for the new TCB.
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/generic/dl-tls.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sysdeps/generic/dl-tls.c b/sysdeps/generic/dl-tls.c index 2c68a25..014c3a4 100644 --- a/sysdeps/generic/dl-tls.c +++ b/sysdeps/generic/dl-tls.c @@ -262,6 +262,10 @@ _dl_allocate_tls_storage (void) result = (char *) result + GL(dl_tls_static_size) - TLS_TCB_SIZE; # endif + /* Clear the TCB data structure. We can't ask the caller (i.e. + libpthread) to do it, because we will initialize the DTV et al. */ + memset (result, 0, TLS_TCB_SIZE); + result = allocate_dtv (result); if (result == NULL) free (allocated); |