]> andersk Git - openssh.git/blobdiff - sftp-client.c
- (stevesk) logintest.c: fix for systems without __progname
[openssh.git] / sftp-client.c
index b0007a7345c56bb54b8877f007710636cfb81825..7be73d29fee905a1b6e26f5b61b2164ae07f15ff 100644 (file)
@@ -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 @@ get_msg(int fd, Buffer *m)
        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 @@ get_msg(int fd, Buffer *m)
 
        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;
This page took 0.031226 seconds and 4 git commands to generate.