From fe248414fec1e654e4ee1259927d68777dd870ae Mon Sep 17 00:00:00 2001 From: Anderson Toshiyuki Sasaki Date: Tue, 2 Jul 2019 10:21:15 +0200 Subject: [PATCH] knownhosts: Fix possible memory leak The memory allocated for host_port can leak if the global knownhosts file is unaccessible. Found by address sanitizer build in CI. Signed-off-by: Anderson Toshiyuki Sasaki Reviewed-by: Jakub Jelen --- src/knownhosts.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/knownhosts.c b/src/knownhosts.c index 8a4a8ba7..9383cc97 100644 --- a/src/knownhosts.c +++ b/src/knownhosts.c @@ -706,13 +706,15 @@ enum ssh_known_hosts_e ssh_session_has_known_hosts_entry(ssh_session session) rc = ssh_known_hosts_read_entries(host_port, session->opts.global_knownhosts, &entry_list); - SAFE_FREE(host_port); if (rc != 0) { + SAFE_FREE(host_port); ssh_list_free(entry_list); return SSH_KNOWN_HOSTS_ERROR; } } + SAFE_FREE(host_port); + if (ssh_list_count(entry_list) == 0) { ssh_list_free(entry_list); return SSH_KNOWN_HOSTS_UNKNOWN;