diff --git a/lib/vtls/openssl.c b/lib/vtls/openssl.c index 271643e46d..604478cce6 100644 --- a/lib/vtls/openssl.c +++ b/lib/vtls/openssl.c @@ -3756,6 +3756,11 @@ CURLcode Curl_ossl_ctx_init(struct ossl_ctx *octx, ossl_strerror(ERR_peek_error(), error_buffer, sizeof(error_buffer))); return CURLE_OUT_OF_MEMORY; } +#ifdef OPENSSL_HAS_PROVIDERS + if(data->state.libctx) + /* forbid connection reuse with provider/engine use */ + connclose(data->conn); +#endif if(cb_setup) { result = cb_setup(cf, data, cb_user_data);