From 79e9eb53d44d777f2aa094e643cc3ae796e7d4f4 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Wed, 1 Apr 2009 10:49:27 +0000 Subject: Add memory error checking to key exchange functions. git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/libssh/trunk@317 7dcaeef0-15fb-0310-b436-a5af3365683c --- libssh/keyfiles.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'libssh/keyfiles.c') 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; } -- cgit