From f84a648ca1da0177e7ed1d4b50312c5dd6a2c0c8 Mon Sep 17 00:00:00 2001 From: KaoruToda Date: Thu, 19 Oct 2017 23:41:03 +0900 Subject: [PATCH] apps/s_client.c: add missing null check apps/s_server.c: remove unnecessary null check Reviewed-by: Rich Salz Reviewed-by: Andy Polyakov (Merged from https://github.com/openssl/openssl/pull/4558) --- apps/s_client.c | 3 +++ apps/s_server.c | 27 +++++++++++++++------------ 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/apps/s_client.c b/apps/s_client.c index 96bfc159d7..019e73535a 100644 --- a/apps/s_client.c +++ b/apps/s_client.c @@ -1866,6 +1866,9 @@ int s_client_main(int argc, char **argv) goto end; con = SSL_new(ctx); + if (con == NULL) + goto end; + if (sess_in != NULL) { SSL_SESSION *sess; BIO *stmp = BIO_new_file(sess_in, "r"); diff --git a/apps/s_server.c b/apps/s_server.c index a7d85f3849..311f4a217c 100644 --- a/apps/s_server.c +++ b/apps/s_server.c @@ -2202,22 +2202,25 @@ static int sv_body(int s, int stype, int prot, unsigned char *context) BIO_printf(bio_err, "Turned on non blocking io\n"); } + con = SSL_new(ctx); if (con == NULL) { - con = SSL_new(ctx); + ret = -1; + goto err; + } - if (s_tlsextdebug) { - SSL_set_tlsext_debug_callback(con, tlsext_cb); - SSL_set_tlsext_debug_arg(con, bio_s_out); - } + if (s_tlsextdebug) { + SSL_set_tlsext_debug_callback(con, tlsext_cb); + SSL_set_tlsext_debug_arg(con, bio_s_out); + } - if (context - && !SSL_set_session_id_context(con, - context, strlen((char *)context))) { - BIO_printf(bio_err, "Error setting session id context\n"); - ret = -1; - goto err; - } + if (context != NULL + && !SSL_set_session_id_context(con, context, + strlen((char *)context))) { + BIO_printf(bio_err, "Error setting session id context\n"); + ret = -1; + goto err; } + if (!SSL_clear(con)) { BIO_printf(bio_err, "Error clearing SSL connection\n"); ret = -1; -- 2.25.1