aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/agent.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/agent.c b/src/agent.c
index 47d203ac..f5fcae06 100644
--- a/src/agent.c
+++ b/src/agent.c
@@ -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;