diff options
author | Andreas Schneider <asn@cryptomilk.org> | 2012-04-10 12:04:44 +0200 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2012-04-10 12:04:44 +0200 |
commit | 88d6e6253c6db815d5f58888aaa4d680029c09b2 (patch) | |
tree | 12ff9609afa1e639c2765b722df5efafa41853f5 /src/agent.c | |
parent | a3cf1e4acc83d0d8e8116d4d3055b0a754827682 (diff) | |
download | libssh-88d6e6253c6db815d5f58888aaa4d680029c09b2.tar.gz libssh-88d6e6253c6db815d5f58888aaa4d680029c09b2.tar.xz libssh-88d6e6253c6db815d5f58888aaa4d680029c09b2.zip |
agent: Do not fail reads with EPIPE if there is not enough data to read.
Diffstat (limited to 'src/agent.c')
-rw-r--r-- | src/agent.c | 3 |
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; |