diff --git a/source/ssh-dialog.c b/source/ssh-dialog.c index 8316eb80..9cf7f10d 100644 --- a/source/ssh-dialog.c +++ b/source/ssh-dialog.c @@ -138,7 +138,17 @@ static char ** get_ssh ( unsigned int *length ) if ( fd != NULL ) { char buffer[1024]; while ( fgets ( buffer, 1024, fd ) != NULL ) { - if ( strncasecmp ( buffer, "Host", 4 ) == 0 && isspace ( buffer[4] ) ) { + char *token = &buffer[0]; + // Skip initial spaces. + while ( ( *token ) != '\n' && ( *token ) != '\0' && isspace ( *token ) ) { + token++; + } + // Skip empty lines. + if ( ( *token ) == '\n' || ( *token ) == '\0' ) { + continue; + } + // Check for "Host[::space::]" + if ( strncasecmp ( token, "Host", 4 ) == 0 && isspace ( token[4] ) ) { int start = 0, stop = 0; buffer[strlen ( buffer ) - 1] = '\0';