aboutsummaryrefslogtreecommitdiff
path: root/src/keyfiles.c
diff options
context:
space:
mode:
authormilo <milo@r0ot.me>2011-04-02 13:16:42 +0200
committermilo <milo@r0ot.me>2011-04-14 14:05:44 +0200
commit3046a5061433b7000964aec5169d127191b6aeed (patch)
tree9f44a29ebca689603a2dc5c799f7d191cf5d6c85 /src/keyfiles.c
parent23aa58e442c59f624af9d04f00cd271fb4bd73a3 (diff)
downloadlibssh-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.c5
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,