summaryrefslogtreecommitdiffstats
path: root/libssh/keyfiles.c
diff options
context:
space:
mode:
Diffstat (limited to 'libssh/keyfiles.c')
-rw-r--r--libssh/keyfiles.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/libssh/keyfiles.c b/libssh/keyfiles.c
index a4cec4e6..c45d9abd 100644
--- a/libssh/keyfiles.c
+++ b/libssh/keyfiles.c
@@ -848,6 +848,12 @@ static char **ssh_get_knownhost_line(SSH_SESSION *session,FILE **file, char *fil
if(!buffer[0] || buffer[0]=='#')
continue; /* skip empty lines */
tokens=space_tokenize(buffer);
+ if (tokens == NULL) {
+ fclose(*file);
+ *file = NULL;
+ leave_function();
+ return NULL;
+ }
if(!tokens[0] || !tokens[1] || !tokens[2]){
/* it should have at least 3 tokens */
tokens_free(tokens);
@@ -870,6 +876,8 @@ static char **ssh_get_knownhost_line(SSH_SESSION *session,FILE **file, char *fil
continue;
}
}
+ fclose(*file);
+ *file = NULL;
leave_function();
return tokens;
}