diff options
author | Martin Willi <martin@revosec.ch> | 2013-04-11 19:47:28 +0200 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2013-05-06 16:10:10 +0200 |
commit | 6948df3220c98700a41e4c58cc29dd5292e2ff34 (patch) | |
tree | ba34ed3c70d57b6ebc704fbb454d9d15a7f776bc | |
parent | e9326eba13ef4ea957824d7e6b2cfb51a0502637 (diff) | |
download | strongswan-6948df3220c98700a41e4c58cc29dd5292e2ff34.tar.bz2 strongswan-6948df3220c98700a41e4c58cc29dd5292e2ff34.tar.xz |
socket-default: Don't try to send packet if we haven't a socket for given family
-rw-r--r-- | src/libcharon/plugins/socket_default/socket_default_socket.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/libcharon/plugins/socket_default/socket_default_socket.c b/src/libcharon/plugins/socket_default/socket_default_socket.c index 59dc5b3d9..4e6217af3 100644 --- a/src/libcharon/plugins/socket_default/socket_default_socket.c +++ b/src/libcharon/plugins/socket_default/socket_default_socket.c @@ -329,7 +329,7 @@ METHOD(socket_t, receiver, status_t, METHOD(socket_t, sender, status_t, private_socket_default_socket_t *this, packet_t *packet) { - int sport, skt, family; + int sport, skt = -1, family; ssize_t bytes_sent; chunk_t data; host_t *src, *dst; @@ -379,9 +379,10 @@ METHOD(socket_t, sender, status_t, return FAILED; } } - else + if (skt == -1) { - DBG1(DBG_NET, "unable to locate a send socket for port %d", sport); + DBG1(DBG_NET, "no socket found to send IPv%d packet from port %d", + family == AF_INET ? 4 : 6, sport); return FAILED; } |