summaryrefslogtreecommitdiff
path: root/src/lib/libssl/s23_srvr.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libssl/s23_srvr.c')
-rw-r--r--src/lib/libssl/s23_srvr.c19
1 files changed, 6 insertions, 13 deletions
diff --git a/src/lib/libssl/s23_srvr.c b/src/lib/libssl/s23_srvr.c
index c5404ca0bc..8743b61cbb 100644
--- a/src/lib/libssl/s23_srvr.c
+++ b/src/lib/libssl/s23_srvr.c
@@ -139,18 +139,11 @@ SSL_METHOD *SSLv23_server_method(void)
139 139
140 if (init) 140 if (init)
141 { 141 {
142 CRYPTO_w_lock(CRYPTO_LOCK_SSL_METHOD); 142 memcpy((char *)&SSLv23_server_data,
143 143 (char *)sslv23_base_method(),sizeof(SSL_METHOD));
144 if (init) 144 SSLv23_server_data.ssl_accept=ssl23_accept;
145 { 145 SSLv23_server_data.get_ssl_method=ssl23_get_server_method;
146 memcpy((char *)&SSLv23_server_data, 146 init=0;
147 (char *)sslv23_base_method(),sizeof(SSL_METHOD));
148 SSLv23_server_data.ssl_accept=ssl23_accept;
149 SSLv23_server_data.get_ssl_method=ssl23_get_server_method;
150 init=0;
151 }
152
153 CRYPTO_w_unlock(CRYPTO_LOCK_SSL_METHOD);
154 } 147 }
155 return(&SSLv23_server_data); 148 return(&SSLv23_server_data);
156 } 149 }
@@ -512,7 +505,7 @@ int ssl23_get_client_hello(SSL *s)
512 505
513 if (s->s3 != NULL) ssl3_free(s); 506 if (s->s3 != NULL) ssl3_free(s);
514 507
515 if (!BUF_MEM_grow_clean(s->init_buf, 508 if (!BUF_MEM_grow(s->init_buf,
516 SSL2_MAX_RECORD_LENGTH_3_BYTE_HEADER)) 509 SSL2_MAX_RECORD_LENGTH_3_BYTE_HEADER))
517 { 510 {
518 goto err; 511 goto err;