agent: Do not fail reads with EPIPE if there is not enough data to read.

This commit is contained in:
Andreas Schneider
2012-04-10 12:04:44 +02:00
parent a3cf1e4acc
commit 88d6e6253c

View File

@@ -114,7 +114,8 @@ static size_t atomicio(ssh_socket s, void *buf, size_t n, int do_read) {
}
return 0;
case 0:
errno = EPIPE;
/* read returns 0 on end-of-file */
errno = do_read ? 0 : EPIPE;
return pos;
default:
pos += (size_t) res;