From fcda8beb1cbf3e30263fe566bfef625555bdd897 Mon Sep 17 00:00:00 2001 From: Vic Lee Date: Tue, 22 Dec 2009 21:09:38 +0800 Subject: File handle need to be closed in case of errors in privatekey_from_file Signed-off-by: Vic Lee Signed-off-by: Andreas Schneider --- libssh/keyfiles.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'libssh/keyfiles.c') diff --git a/libssh/keyfiles.c b/libssh/keyfiles.c index 8646937..21b02a8 100644 --- a/libssh/keyfiles.c +++ b/libssh/keyfiles.c @@ -669,6 +669,7 @@ ssh_private_key privatekey_from_file(ssh_session session, const char *filename, if (type == 0) { type = privatekey_type_from_file(file); if (type == 0) { + fclose(file); ssh_set_error(session, SSH_FATAL, "Invalid private key file."); return NULL; } @@ -755,6 +756,7 @@ ssh_private_key privatekey_from_file(ssh_session session, const char *filename, } break; default: + fclose(file); ssh_set_error(session, SSH_FATAL, "Invalid private key type %d", type); return NULL; } /* switch */ -- cgit