]> git.ipfire.org Git - thirdparty/strongswan.git/commitdiff
Don't send a packet in default socket if family is not IPv4 nor IPv6
authorMartin Willi <martin@revosec.ch>
Wed, 6 Feb 2013 12:12:51 +0000 (13:12 +0100)
committerMartin Willi <martin@revosec.ch>
Wed, 6 Feb 2013 14:20:32 +0000 (15:20 +0100)
src/libcharon/plugins/socket_default/socket_default_socket.c

index 2cf32b0c01e1eb2267f83f518d5da54d2e3c76d5..942dafc2e466e2689e0e72f342ccaf09d2f40547 100644 (file)
@@ -322,24 +322,30 @@ METHOD(socket_t, sender, status_t,
        family = dst->get_family(dst);
        if (sport == 0 || sport == this->port)
        {
-               if (family == AF_INET)
-               {
-                       skt = this->ipv4;
-               }
-               else
+               switch (family)
                {
-                       skt = this->ipv6;
+                       case AF_INET:
+                               skt = this->ipv4;
+                               break;
+                       case AF_INET6:
+                               skt = this->ipv6;
+                               break;
+                       default:
+                               return FAILED;
                }
        }
        else if (sport == this->natt)
        {
-               if (family == AF_INET)
-               {
-                       skt = this->ipv4_natt;
-               }
-               else
+               switch (family)
                {
-                       skt = this->ipv6_natt;
+                       case AF_INET:
+                               skt = this->ipv4_natt;
+                               break;
+                       case AF_INET6:
+                               skt = this->ipv6_natt;
+                               break;
+                       default:
+                               return FAILED;
                }
        }
        else