aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndreas Schneider <asn@cryptomilk.org>2013-07-25 22:27:56 +0200
committerAndreas Schneider <asn@cryptomilk.org>2013-07-25 22:43:09 +0200
commitf9b83951226a4cb8fe9df47b39e6e7bf2771d65b (patch)
tree46710e969b87fed46682c30411c77214712af4e8 /src
parentcdf193d8b5ee3d0e85d2e681a93cda43111c80d6 (diff)
downloadlibssh-f9b83951226a4cb8fe9df47b39e6e7bf2771d65b.tar.gz
libssh-f9b83951226a4cb8fe9df47b39e6e7bf2771d65b.tar.xz
libssh-f9b83951226a4cb8fe9df47b39e6e7bf2771d65b.zip
session: Handle session state in ssh_get_status().
BUG: https://red.libssh.org/issues/109
Diffstat (limited to 'src')
-rw-r--r--src/session.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/session.c b/src/session.c
index 59521121..fc2e3581 100644
--- a/src/session.c
+++ b/src/session.c
@@ -586,7 +586,8 @@ int ssh_get_status(ssh_session session) {
if (socketstate & SSH_WRITE_PENDING) {
r |= SSH_WRITE_PENDING;
}
- if (session->closed && (socketstate & SSH_CLOSED_ERROR)) {
+ if (session->closed && (socketstate & SSH_CLOSED_ERROR) ||
+ session->session_state == SSH_SESSION_STATE_ERROR) {
r |= SSH_CLOSED_ERROR;
}