summaryrefslogtreecommitdiffstats
path: root/apps/s_client.c
diff options
context:
space:
mode:
authorMatt Caswell <matt@openssl.org>2015-09-16 23:09:15 +0100
committerMatt Caswell <matt@openssl.org>2015-11-20 23:33:46 +0000
commit5e6f9775a9db38b50c2f5487f126b58f7bfff78e (patch)
tree87aa3d14e1257fd91459ca13685f7b40b7a3f451 /apps/s_client.c
parent64c07bd2d8fd162147a75ff885165bc31388bfa7 (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/s_client.c')
-rw-r--r--apps/s_client.c8
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