diff options
author | Jon Simons <jon@jonsimons.org> | 2014-02-10 18:20:19 -0800 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2014-03-12 14:09:35 +0100 |
commit | 5eeac3566e11874ad62337a702fef84c8ef29d87 (patch) | |
tree | dd003aca0c83c28d84c77d676434ee9fcff31ed2 /src/bind.c | |
parent | e99246246b4061f7e71463f8806b9dcad65affa0 (diff) | |
download | libssh-5eeac3566e11874ad62337a702fef84c8ef29d87.tar.gz libssh-5eeac3566e11874ad62337a702fef84c8ef29d87.tar.xz libssh-5eeac3566e11874ad62337a702fef84c8ef29d87.zip |
bind: only set bindfd after successful listen
In 'ssh_bind_listen', move setting of 'sshbind->bindfd' to only happen after
the listen call: otherwise 'bindfd' can be set to a bogus descriptor for the
case that listen fails.
Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
Diffstat (limited to 'src/bind.c')
-rw-r--r-- | src/bind.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -254,7 +254,6 @@ int ssh_bind_listen(ssh_bind sshbind) { sshbind->rsa = NULL; return -1; } - sshbind->bindfd = fd; if (listen(fd, 10) < 0) { ssh_set_error(sshbind, SSH_FATAL, @@ -267,6 +266,8 @@ int ssh_bind_listen(ssh_bind sshbind) { sshbind->rsa = NULL; return -1; } + + sshbind->bindfd = fd; } else { SSH_LOG(SSH_LOG_INFO, "Using app-provided bind socket"); } |