1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-16 09:57:47 +03:00

lib: smb_threads: fix access before init bug

talloc_stackframe_internal() calls SMB_THREAD_GET_TLS(global_ts)  which
calls smb_get_tls_pthread() in the POSIX pthread wrapper implementation.

If SMB_THREAD_SET_TLS() hasn't been called before, global_ts is NULL and
smb_get_tls_pthread dereferences it so it crashes.

Bug: https://bugzilla.samba.org/show_bug.cgi?id=13505

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
(cherry picked from commit e311801e0e7171a2b50e39d3e0c2d2137f8b3d7e)
This commit is contained in:
Ralph Boehme 2018-07-03 15:30:33 +02:00 committed by Karolin Seeger
parent adef988e51
commit c7bedb9c60

View File

@ -119,6 +119,9 @@ static int smb_set_tls_pthread(void *pkey, const void *pval, const char *locatio
\
static void *smb_get_tls_pthread(void *pkey, const char *location) \
{ \
if (pkey == NULL) { \
return NULL; \
} \
return pthread_getspecific(*(pthread_key_t *)pkey); \
} \
\