diff options
author | Xin LI <delphij@FreeBSD.org> | 2013-04-02 17:34:42 +0000 |
---|---|---|
committer | Xin LI <delphij@FreeBSD.org> | 2013-04-02 17:34:42 +0000 |
commit | 0d9d75b124880ee5a3aeb5c2af92a04340c02bef (patch) | |
tree | 953639ad57c000dc6351819b4798541490d39802 /crypto/openssl/ssl/bio_ssl.c | |
parent | 660eb4006e69a82831062be4a4af070afccf64bc (diff) |
Notes
Diffstat (limited to 'crypto/openssl/ssl/bio_ssl.c')
-rw-r--r-- | crypto/openssl/ssl/bio_ssl.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/crypto/openssl/ssl/bio_ssl.c b/crypto/openssl/ssl/bio_ssl.c index 420deb7fc966..f0a031c71d6b 100644 --- a/crypto/openssl/ssl/bio_ssl.c +++ b/crypto/openssl/ssl/bio_ssl.c @@ -348,7 +348,11 @@ static long ssl_ctrl(BIO *b, int cmd, long num, void *ptr) break; case BIO_C_SET_SSL: if (ssl != NULL) + { ssl_free(b); + if (!ssl_new(b)) + return 0; + } b->shutdown=(int)num; ssl=(SSL *)ptr; ((BIO_SSL *)b->ptr)->ssl=ssl; |