From 9ae81c5cebaa060d4b72d4861a3db96b8ba62b30 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Mon, 28 Oct 2019 14:31:54 +0100 Subject: [PATCH] SSH-01-006: Add missing NULL check in server_set_kex() Fixes T193 Signed-off-by: Andreas Schneider Reviewed-by: Jakub Jelen --- src/server.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/server.c b/src/server.c index 0a787eee..f8b5bfb7 100644 --- a/src/server.c +++ b/src/server.c @@ -168,13 +168,20 @@ int server_set_kex(ssh_session session) for (i = 0; i < SSH_KEX_METHODS; i++) { wanted = session->opts.wanted_methods[i]; - if (wanted == NULL) { + if (wanted == NULL) { if (ssh_fips_mode()) { wanted = ssh_kex_get_fips_methods(i); } else { wanted = ssh_kex_get_default_methods(i); } } + if (wanted == NULL) { + for (j = 0; j < i; j++) { + SAFE_FREE(server->methods[j]); + } + return -1; + } + server->methods[i] = strdup(wanted); if (server->methods[i] == NULL) { for (j = 0; j < i; j++) {