summaryrefslogtreecommitdiffstats
path: root/src/pki.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/pki.c')
-rw-r--r--src/pki.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/pki.c b/src/pki.c
index ff03138..e08ed4d 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;
}