From 1a3436d7d3ddd3d17efffe5938702aaf514c215a Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Wed, 12 Jun 2019 10:17:26 +0200 Subject: [PATCH] knownhosts: Fix use after free 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 c2189b13..249c9953 100644 --- a/src/knownhosts.c +++ b/src/knownhosts.c @@ -775,12 +775,14 @@ int ssh_session_update_known_hosts(ssh_session session) } else { rc = 0; } - SAFE_FREE(dir); + if (rc != 0) { ssh_set_error(session, SSH_FATAL, "Cannot create %s directory.", dir); + SAFE_FREE(dir); return SSH_ERROR; } + SAFE_FREE(dir); fp = fopen(session->opts.knownhosts, "a"); if (fp == NULL) {