aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/socket.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/socket.c b/src/socket.c
index fcf52025..7a1815c6 100644
--- a/src/socket.c
+++ b/src/socket.c
@@ -307,11 +307,13 @@ int ssh_socket_pollcallback(struct ssh_poll_handle_struct *p, socket_t fd, int r
if(s->state == SSH_SOCKET_CONNECTING){
SSH_LOG(SSH_LOG_PACKET,"Received POLLOUT in connecting state");
s->state = SSH_SOCKET_CONNECTED;
- ssh_poll_set_events(p,POLLOUT | POLLIN);
- r = ssh_socket_set_blocking(ssh_socket_get_fd_in(s));
- if (r < 0) {
- return -1;
- }
+ if (p != NULL) {
+ ssh_poll_set_events(p,POLLOUT | POLLIN);
+ }
+ r = ssh_socket_set_blocking(ssh_socket_get_fd_in(s));
+ if (r < 0) {
+ return -1;
+ }
if(s->callbacks && s->callbacks->connected)
s->callbacks->connected(SSH_SOCKET_CONNECTED_OK,0,s->callbacks->userdata);
return 0;