X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=ssl%2Fbio_ssl.c;h=eedac8a3fcfccef8aae1ef4831868e00a18d515f;hb=e0b9678d7f7401d34f899f8dc2ba66bdb44b6135;hp=af319af302a1bc4a56f649e0522d14a6f43f6fdb;hpb=0cb76e79df31e8c6ef9dbbfb92330f90243766be;p=oweals%2Fopenssl.git diff --git a/ssl/bio_ssl.c b/ssl/bio_ssl.c index af319af302..eedac8a3fc 100644 --- a/ssl/bio_ssl.c +++ b/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;