From: Bodo Möller Date: Thu, 19 Sep 2002 11:27:37 +0000 (+0000) Subject: fix race condition X-Git-Tag: OpenSSL_0_9_6h~100 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=30c37c52c5ab2767542f7aa4a772d64d603f465b;p=oweals%2Fopenssl.git fix race condition PR: 262 --- diff --git a/CHANGES b/CHANGES index 74f417872b..84d9e5fe90 100644 --- a/CHANGES +++ b/CHANGES @@ -4,6 +4,9 @@ Changes between 0.9.6g and 0.9.6h [xx XXX xxxx] + *) Fix race condition in SSLv3_client_method(). + [Bodo Moeller] + *) Reorder cleanup sequence in SSL_CTX_free(): only remove the ex_data after the cached sessions are flushed, as the remove_cb() might use ex_data contents. Bug found by Sam Varshavchik diff --git a/ssl/s3_clnt.c b/ssl/s3_clnt.c index 32b9cea1ca..b0c08d0498 100644 --- a/ssl/s3_clnt.c +++ b/ssl/s3_clnt.c @@ -146,11 +146,11 @@ SSL_METHOD *SSLv3_client_method(void) if (init) { - init=0; memcpy((char *)&SSLv3_client_data,(char *)sslv3_base_method(), sizeof(SSL_METHOD)); SSLv3_client_data.ssl_connect=ssl3_connect; SSLv3_client_data.get_ssl_method=ssl3_get_client_method; + init=0; } return(&SSLv3_client_data); }