From 27452401cefe6209188c3ac7f76b80c87d38155e Mon Sep 17 00:00:00 2001 From: mouring Date: Tue, 5 Mar 2002 01:54:52 +0000 Subject: [PATCH] - 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@ --- ChangeLog | 4 ++++ ssh-keyscan.c | 7 ++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index ebc8da5d..a29972f7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -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 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 @@ -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); -- 2.45.1