From: Matt Caswell Date: Wed, 16 Sep 2015 22:09:15 +0000 (+0100) Subject: Fix pools for s_client X-Git-Tag: OpenSSL_1_1_0-pre1~240 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5e6f9775a9db38b50c2f5487f126b58f7bfff78e;p=openssl Fix pools for s_client s_client was not freeing up the async pool if async mode was enabled. Reviewed-by: Rich Salz --- diff --git a/apps/s_client.c b/apps/s_client.c index fa91eece02..723e7cba3b 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