aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/plugins/socket_default
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2013-06-14 17:25:16 +0200
committerTobias Brunner <tobias@strongswan.org>2013-06-14 17:25:16 +0200
commitc6f1929a45b644fbc7e02f0e37a6d81d48186a5a (patch)
treeea09f7736c70944444eb3c8d6abdd0e9941f1a19 /src/libcharon/plugins/socket_default
parent18898377675cc1a752e310615a7dae1bfaa831b2 (diff)
downloadstrongswan-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.c8
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;