We get cc1: warnings being treated as errors
../lib/util/util_net.c: In function get_socket_port:
../lib/util/util_net.c:921: error: dereferencing pointer sa.106 does break strict-aliasing rules
../lib/util/util_net.c:921: note: initialized from here
../lib/util/util_net.c:925: error: dereferencing pointer sa.107 does break strict-aliasing rules
../lib/util/util_net.c:925: note: initialized from here
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
#if defined(HAVE_IPV6)
if (sa.ss_family == AF_INET6) {
- return ntohs(((struct sockaddr_in6 *)&sa)->sin6_port);
+ struct sockaddr_in6 *sa_in6 = (struct sockaddr_in6 *)&sa;
+ return ntohs(sa_in6->sin6_port);
}
#endif
if (sa.ss_family == AF_INET) {
- return ntohs(((struct sockaddr_in *)&sa)->sin_port);
+ struct sockaddr_in *sa_in = (struct sockaddr_in *)&sa;
+ return ntohs(sa_in->sin_port);
}
return -1;
}