From e9505646d7631052dfe32f0d5922b4cf63da56cb Mon Sep 17 00:00:00 2001 From: Markus Friedl Date: Tue, 21 Feb 2012 17:51:40 +0100 Subject: [PATCH] terminate the buffer for the remote protocol version; interop w/JSch --- ssh/ssh_api.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/ssh/ssh_api.c b/ssh/ssh_api.c index 2d4fbe8..4091a20 100644 --- a/ssh/ssh_api.c +++ b/ssh/ssh_api.c @@ -247,7 +247,7 @@ int _ssh_read_banner(struct ssh *ssh, char **bannerp) { struct sshbuf *input; - char c, *s, buf[256], remote_version[256]; /* must be same size! */ + char *s, buf[256], remote_version[256]; /* must be same size! */ int r, remote_major, remote_minor; size_t i, n, j, len; @@ -259,17 +259,16 @@ _ssh_read_banner(struct ssh *ssh, char **bannerp) for (i = 0; i < sizeof(buf) - 1; i++) { if (j >= len) return (0); - c = s[j++]; - if (c == '\r') { + buf[i] = s[j++]; + if (buf[i] == '\r') { buf[i] = '\n'; buf[i + 1] = 0; continue; /**XXX wait for \n */ } - if (c == '\n') { + if (buf[i] == '\n') { buf[i + 1] = 0; break; } - buf[i] = c; } buf[sizeof(buf) - 1] = 0; if (strncmp(buf, "SSH-", 4) == 0)