diff options
author | Andreas Schneider <asn@cryptomilk.org> | 2018-12-10 10:21:04 +0100 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2019-01-09 15:50:24 +0100 |
commit | 0170ed888335843b1cbf0c3cfc3c4cc6b73f5219 (patch) | |
tree | 5db1619b67826404188c843ed0ce14f38e86abd2 /src/socket.c | |
parent | de54a88ee1b2eec67b064417d8b79774e7cd69a6 (diff) | |
download | libssh-0170ed888335843b1cbf0c3cfc3c4cc6b73f5219.tar.gz libssh-0170ed888335843b1cbf0c3cfc3c4cc6b73f5219.tar.xz libssh-0170ed888335843b1cbf0c3cfc3c4cc6b73f5219.zip |
socket: Set socket error to get better error messages
We do not want an error for ssh_socket_close() here.
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
Diffstat (limited to 'src/socket.c')
-rw-r--r-- | src/socket.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/socket.c b/src/socket.c index 9823d8e1..f297bcf7 100644 --- a/src/socket.c +++ b/src/socket.c @@ -244,8 +244,11 @@ int ssh_socket_pollcallback(struct ssh_poll_handle_struct *p, if (rc < 0) { err = errno; } - s->last_errno = err; ssh_socket_close(s); + /* Overwrite ssh_socket_close() error with the real socket error */ + s->last_errno = err; + errno = err; + if (s->callbacks != NULL && s->callbacks->connected != NULL) { s->callbacks->connected(SSH_SOCKET_CONNECTED_ERROR, err, |