=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/sftp-client.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- src/usr.bin/ssh/sftp-client.c 2001/03/16 08:16:17 1.14 +++ src/usr.bin/ssh/sftp-client.c 2001/03/19 10:52:51 1.15 @@ -29,7 +29,7 @@ /* XXX: copy between two remote sites */ #include "includes.h" -RCSID("$OpenBSD: sftp-client.c,v 1.14 2001/03/16 08:16:17 djm Exp $"); +RCSID("$OpenBSD: sftp-client.c,v 1.15 2001/03/19 10:52:51 djm Exp $"); #include "ssh.h" #include "buffer.h" @@ -77,7 +77,9 @@ unsigned char buf[4096]; len = atomicio(read, fd, buf, 4); - if (len != 4) + if (len == 0) + fatal("Connection closed"); + else if (len == -1) fatal("Couldn't read packet: %s", strerror(errno)); msg_len = GET_32BIT(buf); @@ -86,7 +88,9 @@ while (msg_len) { len = atomicio(read, fd, buf, MIN(msg_len, sizeof(buf))); - if (len <= 0) + if (len == 0) + fatal("Connection closed"); + else if (len == -1) fatal("Couldn't read packet: %s", strerror(errno)); msg_len -= len;