fix race condition
PR: 262
diff --git a/CHANGES b/CHANGES
index dbb70cb..0cfe8ad 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1923,6 +1923,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 <mrsam@courier-mta.com>
diff --git a/ssl/s3_clnt.c b/ssl/s3_clnt.c
index 3784e7d..ca15881 100644
--- a/ssl/s3_clnt.c
+++ b/ssl/s3_clnt.c
@@ -178,11 +178,11 @@
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);
}