From 6f8b5ed679876427c4b2ff17b60a7fa3cbd02a54 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Mon, 17 Jun 2013 11:49:13 +0200 Subject: [PATCH] pki: Fix a resource leak on error. --- src/pki.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/pki.c b/src/pki.c index ff03138d..e08ed4d4 100644 --- a/src/pki.c +++ b/src/pki.c @@ -430,6 +430,7 @@ int ssh_pki_import_privkey_file(const char *filename, rc = fstat(fileno(file), &sb); if (rc < 0) { + fclose(file); ssh_pki_log("Error getting stat of %s: %s", filename, strerror(errno)); switch (errno) { @@ -813,6 +814,7 @@ int ssh_pki_import_pubkey_file(const char *filename, ssh_key *pkey) rc = fstat(fileno(file), &sb); if (rc < 0) { + fclose(file); ssh_pki_log("Error gettint stat of %s: %s", filename, strerror(errno)); switch (errno) { @@ -824,6 +826,7 @@ int ssh_pki_import_pubkey_file(const char *filename, ssh_key *pkey) } if (sb.st_size > MAX_PUBKEY_SIZE) { + fclose(file); return SSH_ERROR; }