diff options
author | milo <milo@r0ot.me> | 2011-04-02 13:16:42 +0200 |
---|---|---|
committer | milo <milo@r0ot.me> | 2011-04-14 14:05:44 +0200 |
commit | 3046a5061433b7000964aec5169d127191b6aeed (patch) | |
tree | 9f44a29ebca689603a2dc5c799f7d191cf5d6c85 /src/keyfiles.c | |
parent | 23aa58e442c59f624af9d04f00cd271fb4bd73a3 (diff) | |
download | libssh-3046a5061433b7000964aec5169d127191b6aeed.tar.gz libssh-3046a5061433b7000964aec5169d127191b6aeed.tar.xz libssh-3046a5061433b7000964aec5169d127191b6aeed.zip |
Skip \r when reading private keys
Diffstat (limited to 'src/keyfiles.c')
-rw-r--r-- | src/keyfiles.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/keyfiles.c b/src/keyfiles.c index 4f14a23c..d902835f 100644 --- a/src/keyfiles.c +++ b/src/keyfiles.c @@ -354,12 +354,13 @@ static int privatekey_dek_header(const char *header, unsigned int header_len, } #define get_next_line(p, len) { \ - while(p[len] == '\n') /* skip empty lines */ \ + while(p[len] == '\n' || p[len] == '\r') /* skip empty lines */ \ len++; \ if(p[len] == '\0') /* EOL */ \ len = -1; \ else /* calculate length */ \ - for(p += len, len = 0; p[len] && p[len] != '\n'; len++); \ + for(p += len, len = 0; p[len] && p[len] != '\n' \ + && p[len] != '\r'; len++); \ } static ssh_buffer privatekey_string_to_buffer(const char *pkey, int type, |