BUG/MEDIUM: ssl: Don't forget to free ctx->ssl on failure.

In ssl_sock_init(), if we fail to allocate the BIO, don't forget to free
the SSL *, or we'd end up with a memory leak.

This should be backported to 2.1 and 2.0.
This commit is contained in:
Olivier Houchard 2020-01-24 15:17:38 +01:00
parent 6d53cd6978
commit efe5e8e998

View File

@ -5937,6 +5937,8 @@ static int ssl_sock_init(struct connection *conn, void **xprt_ctx)
}
ctx->bio = BIO_new(ha_meth);
if (!ctx->bio) {
SSL_free(ctx->ssl);
ctx->ssl = NULL;
if (may_retry--) {
pool_gc(NULL);
goto retry_connect;
@ -5999,6 +6001,8 @@ static int ssl_sock_init(struct connection *conn, void **xprt_ctx)
}
ctx->bio = BIO_new(ha_meth);
if (!ctx->bio) {
SSL_free(ctx->ssl);
ctx->ssl = NULL;
if (may_retry--) {
pool_gc(NULL);
goto retry_accept;