Fix windows thread stop code

The windows thread stop code was erroneously not just deleting the thread
local variable on thread stop, but also deleting the thread local *key*
(thus removing thread local data for *all* threads in one go!).

Reviewed-by: Rich Salz <rsalz@openssl.org>
This commit is contained in:
Matt Caswell 2016-02-18 12:24:09 +00:00
parent 4015adf0a3
commit 6bc7bad011

View file

@ -506,7 +506,6 @@ static void ossl_init_thread_stop(struct thread_local_inits_st *locals)
}
OPENSSL_free(locals);
ossl_init_thread_stop_cleanup();
}
void OPENSSL_thread_stop(void)
@ -599,6 +598,8 @@ void OPENSSL_cleanup(void)
ERR_free_strings();
}
ossl_init_thread_stop_cleanup();
#ifdef OPENSSL_INIT_DEBUG
fprintf(stderr, "OPENSSL_INIT: OPENSSL_INIT_library_stop: "
"CRYPTO_cleanup_all_ex_data()\n");