From 34e7a3cf8c630f78548b2230c4dca8f04b6b5c50 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Tue, 5 Jun 2018 10:34:08 +0200 Subject: [PATCH] knownhosts: Fix resource leak in ssh_session_update_known_hosts() CID 1391448 Signed-off-by: Andreas Schneider --- src/knownhosts.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/knownhosts.c b/src/knownhosts.c index 3e16b7f5..7563d273 100644 --- a/src/knownhosts.c +++ b/src/knownhosts.c @@ -622,20 +622,22 @@ int ssh_session_update_known_hosts(ssh_session session) rc = ssh_session_export_known_hosts_entry(session, &entry); if (rc != SSH_OK) { + fclose(fp); return rc; } len = strlen(entry); nwritten = fwrite(entry, sizeof(char), len, fp); SAFE_FREE(entry); - fclose(fp); if (nwritten != len || ferror(fp)) { ssh_set_error(session, SSH_FATAL, "Couldn't append to known_hosts file %s: %s", session->opts.knownhosts, strerror(errno)); + fclose(fp); return SSH_ERROR; } + fclose(fp); return SSH_OK; }