]> git.ipfire.org Git - thirdparty/strongswan.git/commitdiff
host: Properly initialize struct sockaddr_in[6] when parsing strings
authorTobias Brunner <tobias@strongswan.org>
Tue, 30 Jul 2013 16:44:50 +0000 (18:44 +0200)
committerAndreas Steffen <andreas.steffen@strongswan.org>
Wed, 31 Jul 2013 20:16:58 +0000 (22:16 +0200)
Otherwise struct members like sin6_flowinfo or sin6_scope_id might be
set to bogus values.

src/libstrongswan/networking/host.c

index a3622ebe192067a49b0b46162bb92af44b732242..8d04a4ec99f12cd3c76e918c1513c22fd5c6cb40 100644 (file)
@@ -381,6 +381,7 @@ host_t *host_create_from_string_and_family(char *string, int family,
                        }
                        /* FALL */
                case AF_INET6:
+                       memset(&addr.v6, 0, sizeof(addr.v6));
                        if (inet_pton(AF_INET6, string, &addr.v6.sin6_addr) != 1)
                        {
                                return NULL;
@@ -394,6 +395,7 @@ host_t *host_create_from_string_and_family(char *string, int family,
                                return NULL;
                        }
                af_inet:
+                       memset(&addr.v4, 0, sizeof(addr.v4));
                        if (inet_pton(AF_INET, string, &addr.v4.sin_addr) != 1)
                        {
                                return NULL;