diff options
author | Aris Adamantiadis <aris@0xbadc0de.be> | 2013-11-18 14:42:06 +0100 |
---|---|---|
committer | Aris Adamantiadis <aris@0xbadc0de.be> | 2013-11-18 14:42:40 +0100 |
commit | ccdc0f18055b7fcc3d5d762f5a4fc480f52fb1ef (patch) | |
tree | 66fe97b80456ceb5b17a3c2409442199ff839767 | |
parent | 66e7e7023b6f1568b65ccd8e04ca4dce24847058 (diff) | |
download | libssh-ccdc0f18055b7fcc3d5d762f5a4fc480f52fb1ef.tar.gz libssh-ccdc0f18055b7fcc3d5d762f5a4fc480f52fb1ef.tar.xz libssh-ccdc0f18055b7fcc3d5d762f5a4fc480f52fb1ef.zip |
sockets: null pointer check
-rw-r--r-- | src/socket.c | 12 |
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; |