diff options
Diffstat (limited to 'src/lib/libssl/ssl_sess.c')
-rw-r--r-- | src/lib/libssl/ssl_sess.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lib/libssl/ssl_sess.c b/src/lib/libssl/ssl_sess.c index a505e388fb..7016c87d3b 100644 --- a/src/lib/libssl/ssl_sess.c +++ b/src/lib/libssl/ssl_sess.c | |||
@@ -78,11 +78,11 @@ SSL_SESSION *SSL_get1_session(SSL *ssl) | |||
78 | /* Need to lock this all up rather than just use CRYPTO_add so that | 78 | /* Need to lock this all up rather than just use CRYPTO_add so that |
79 | * somebody doesn't free ssl->session between when we check it's | 79 | * somebody doesn't free ssl->session between when we check it's |
80 | * non-null and when we up the reference count. */ | 80 | * non-null and when we up the reference count. */ |
81 | CRYPTO_r_lock(CRYPTO_LOCK_SSL_SESSION); | 81 | CRYPTO_w_lock(CRYPTO_LOCK_SSL_SESSION); |
82 | sess = ssl->session; | 82 | sess = ssl->session; |
83 | if(sess) | 83 | if(sess) |
84 | sess->references++; | 84 | sess->references++; |
85 | CRYPTO_r_unlock(CRYPTO_LOCK_SSL_SESSION); | 85 | CRYPTO_w_unlock(CRYPTO_LOCK_SSL_SESSION); |
86 | return(sess); | 86 | return(sess); |
87 | } | 87 | } |
88 | 88 | ||