提交 5e6f9775 编写于 作者: M Matt Caswell

Fix pools for s_client

s_client was not freeing up the async pool if async mode was enabled.
Reviewed-by: NRich Salz <rsalz@openssl.org>
上级 64c07bd2
...@@ -160,6 +160,7 @@ typedef unsigned int u_int; ...@@ -160,6 +160,7 @@ typedef unsigned int u_int;
#include <openssl/rand.h> #include <openssl/rand.h>
#include <openssl/ocsp.h> #include <openssl/ocsp.h>
#include <openssl/bn.h> #include <openssl/bn.h>
#include <openssl/async.h>
#ifndef OPENSSL_NO_SRP #ifndef OPENSSL_NO_SRP
# include <openssl/srp.h> # include <openssl/srp.h>
#endif #endif
...@@ -1205,8 +1206,10 @@ int s_client_main(int argc, char **argv) ...@@ -1205,8 +1206,10 @@ int s_client_main(int argc, char **argv)
goto end; goto end;
} }
if (async) if (async) {
SSL_CTX_set_mode(ctx, SSL_MODE_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)) if (!config_ctx(cctx, ssl_args, ctx, 1, jpake_secret == NULL))
goto end; goto end;
...@@ -2096,6 +2099,9 @@ int s_client_main(int argc, char **argv) ...@@ -2096,6 +2099,9 @@ int s_client_main(int argc, char **argv)
print_stuff(bio_c_out, con, 1); print_stuff(bio_c_out, con, 1);
SSL_free(con); SSL_free(con);
} }
if (async) {
ASYNC_free_pool();
}
#if !defined(OPENSSL_NO_NEXTPROTONEG) #if !defined(OPENSSL_NO_NEXTPROTONEG)
OPENSSL_free(next_proto.data); OPENSSL_free(next_proto.data);
#endif #endif
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册