diff --git a/apps/s_client.c b/apps/s_client.c index fa91eece02168fbe876b563496715b06b29a495f..723e7cba3b88b9b518b074de1b4d01b17f3cdd90 100644 --- a/apps/s_client.c +++ b/apps/s_client.c @@ -160,6 +160,7 @@ typedef unsigned int u_int; #include #include #include +#include #ifndef OPENSSL_NO_SRP # include #endif @@ -1205,8 +1206,10 @@ int s_client_main(int argc, char **argv) goto end; } - if (async) + if (async) { SSL_CTX_set_mode(ctx, SSL_MODE_ASYNC); + ASYNC_init_pool(0, 0); + } if (!config_ctx(cctx, ssl_args, ctx, 1, jpake_secret == NULL)) goto end; @@ -2096,6 +2099,9 @@ int s_client_main(int argc, char **argv) print_stuff(bio_c_out, con, 1); SSL_free(con); } + if (async) { + ASYNC_free_pool(); + } #if !defined(OPENSSL_NO_NEXTPROTONEG) OPENSSL_free(next_proto.data); #endif