diff options
Diffstat (limited to '')
| -rw-r--r-- | src/lib/libssl/bio_ssl.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/lib/libssl/bio_ssl.c b/src/lib/libssl/bio_ssl.c index af319af302..eedac8a3fc 100644 --- a/src/lib/libssl/bio_ssl.c +++ b/src/lib/libssl/bio_ssl.c | |||
| @@ -348,7 +348,11 @@ static long ssl_ctrl(BIO *b, int cmd, long num, void *ptr) | |||
| 348 | break; | 348 | break; |
| 349 | case BIO_C_SET_SSL: | 349 | case BIO_C_SET_SSL: |
| 350 | if (ssl != NULL) | 350 | if (ssl != NULL) |
| 351 | { | ||
| 351 | ssl_free(b); | 352 | ssl_free(b); |
| 353 | if (!ssl_new(b)) | ||
| 354 | return 0; | ||
| 355 | } | ||
| 352 | b->shutdown=(int)num; | 356 | b->shutdown=(int)num; |
| 353 | ssl=(SSL *)ptr; | 357 | ssl=(SSL *)ptr; |
| 354 | ((BIO_SSL *)b->ptr)->ssl=ssl; | 358 | ((BIO_SSL *)b->ptr)->ssl=ssl; |
