diff options
author | Tobias Brunner <tobias@strongswan.org> | 2013-06-14 17:25:16 +0200 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2013-06-14 17:25:16 +0200 |
commit | c6f1929a45b644fbc7e02f0e37a6d81d48186a5a (patch) | |
tree | ea09f7736c70944444eb3c8d6abdd0e9941f1a19 /src/libcharon/plugins/socket_default | |
parent | 18898377675cc1a752e310615a7dae1bfaa831b2 (diff) | |
download | strongswan-c6f1929a45b644fbc7e02f0e37a6d81d48186a5a.tar.bz2 strongswan-c6f1929a45b644fbc7e02f0e37a6d81d48186a5a.tar.xz |
socket-default: Make sure sockets are open when checking with FD_ISSET
Diffstat (limited to 'src/libcharon/plugins/socket_default')
-rw-r--r-- | src/libcharon/plugins/socket_default/socket_default_socket.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/libcharon/plugins/socket_default/socket_default_socket.c b/src/libcharon/plugins/socket_default/socket_default_socket.c index 6b89b4caa..aa3d795fc 100644 --- a/src/libcharon/plugins/socket_default/socket_default_socket.c +++ b/src/libcharon/plugins/socket_default/socket_default_socket.c @@ -192,22 +192,22 @@ METHOD(socket_t, receiver, status_t, } thread_cancelability(oldstate); - if (FD_ISSET(this->ipv4, &rfds)) + if (this->ipv4 != -1 && FD_ISSET(this->ipv4, &rfds)) { port = this->port; selected = this->ipv4; } - if (FD_ISSET(this->ipv4_natt, &rfds)) + if (this->ipv4_natt != -1 && FD_ISSET(this->ipv4_natt, &rfds)) { port = this->natt; selected = this->ipv4_natt; } - if (FD_ISSET(this->ipv6, &rfds)) + if (this->ipv6 != -1 && FD_ISSET(this->ipv6, &rfds)) { port = this->port; selected = this->ipv6; } - if (FD_ISSET(this->ipv6_natt, &rfds)) + if (this->ipv6_natt != -1 && FD_ISSET(this->ipv6_natt, &rfds)) { port = this->natt; selected = this->ipv6_natt; |