diff options
author | Ben Lindstrom <mouring@eviladmin.org> | 2002-03-05 01:54:52 +0000 |
---|---|---|
committer | Ben Lindstrom <mouring@eviladmin.org> | 2002-03-05 01:54:52 +0000 |
commit | 6b28c35a04069c5b19e541c86e767da5841422d0 (patch) | |
tree | 1f7ea997412ee0719d00a76525b8d5b072358f1a | |
parent | 05764b9286940cacd16c3fc585ea082c2ace5ec2 (diff) |
- stevesk@cvs.openbsd.org 2002/03/04 18:30:23
[ssh-keyscan.c]
handle connection close during read of protocol version string.
fixes erroneous "bad greeting". ok markus@
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | ssh-keyscan.c | 7 |
2 files changed, 11 insertions, 2 deletions
@@ -54,6 +54,10 @@ $OpenBSD$ and RCSID() cleanup: don't use RCSID() in .h files; add missing RCSID() to .c files and remove dup /*$OpenBSD$*/ from .c files. ok markus@ + - stevesk@cvs.openbsd.org 2002/03/04 18:30:23 + [ssh-keyscan.c] + handle connection close during read of protocol version string. + fixes erroneous "bad greeting". ok markus@ 20020226 - (tim) Bug 12 [configure.ac] add sys/bitypes.h to int64_t tests @@ -7785,4 +7789,4 @@ - Wrote replacements for strlcpy and mkdtemp - Released 1.0pre1 -$Id: ChangeLog,v 1.1904 2002/03/05 01:53:02 mouring Exp $ +$Id: ChangeLog,v 1.1905 2002/03/05 01:54:52 mouring Exp $ diff --git a/ssh-keyscan.c b/ssh-keyscan.c index 88f10ebe..824264c3 100644 --- a/ssh-keyscan.c +++ b/ssh-keyscan.c @@ -7,7 +7,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: ssh-keyscan.c,v 1.34 2002/02/22 12:20:34 markus Exp $"); +RCSID("$OpenBSD: ssh-keyscan.c,v 1.35 2002/03/04 18:30:23 stevesk Exp $"); #if defined(HAVE_SYS_QUEUE_H) && !defined(HAVE_BOGUS_SYS_QUEUE_H) #include <sys/queue.h> @@ -511,6 +511,11 @@ congreet(int s) conrecycle(s); return; } + if (n == 0) { + error("%s: Connection closed by remote host", c->c_name); + conrecycle(s); + return; + } if (*cp != '\n' && *cp != '\r') { error("%s: bad greeting", c->c_name); confree(s); |