diff options
author | Matt Caswell <matt@openssl.org> | 2015-09-16 23:09:15 +0100 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2015-11-20 23:33:46 +0000 |
commit | 5e6f9775a9db38b50c2f5487f126b58f7bfff78e (patch) | |
tree | 87aa3d14e1257fd91459ca13685f7b40b7a3f451 /apps | |
parent | 64c07bd2d8fd162147a75ff885165bc31388bfa7 (diff) |
Fix pools for s_client
s_client was not freeing up the async pool if async mode was enabled.
Reviewed-by: Rich Salz <rsalz@openssl.org>
Diffstat (limited to 'apps')
-rw-r--r-- | apps/s_client.c | 8 |
1 files changed, 7 insertions, 1 deletions
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 <openssl/rand.h> #include <openssl/ocsp.h> #include <openssl/bn.h> +#include <openssl/async.h> #ifndef OPENSSL_NO_SRP # include <openssl/srp.h> #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 |