From: Tobias Brunner Date: Fri, 25 Jan 2013 12:18:50 +0000 (+0100) Subject: Don't use pointer to a union member in host_create_from_string_and_family() X-Git-Tag: 5.0.2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=58fd1f3eef532566fc9718ac470bf6d72eb92625;p=thirdparty%2Fstrongswan.git Don't use pointer to a union member in host_create_from_string_and_family() --- diff --git a/src/libstrongswan/networking/host.c b/src/libstrongswan/networking/host.c index 81af1da27c..bffa960649 100644 --- a/src/libstrongswan/networking/host.c +++ b/src/libstrongswan/networking/host.c @@ -362,7 +362,6 @@ host_t *host_create_from_string_and_family(char *string, int family, u_int16_t port) { union { - sockaddr_t sockaddr; struct sockaddr_in v4; struct sockaddr_in6 v6; } addr; @@ -399,8 +398,8 @@ host_t *host_create_from_string_and_family(char *string, int family, return NULL; } addr.v6.sin6_port = htons(port); - addr.sockaddr.sa_family = AF_INET6; - return host_create_from_sockaddr(&addr.sockaddr); + addr.v6.sin6_family = AF_INET6; + return host_create_from_sockaddr((sockaddr_t*)&addr); case AF_INET: if (strchr(string, ':')) { /* do not try to convert v6 addresses for v4 family */ @@ -412,8 +411,8 @@ host_t *host_create_from_string_and_family(char *string, int family, return NULL; } addr.v4.sin_port = htons(port); - addr.sockaddr.sa_family = AF_INET; - return host_create_from_sockaddr(&addr.sockaddr); + addr.v4.sin_family = AF_INET; + return host_create_from_sockaddr((sockaddr_t*)&addr); default: return NULL; }