From: Daniel Veillard Date: Tue, 8 Dec 2009 10:14:55 +0000 (+0100) Subject: Avoid an type-punned pointer aliasing pbm X-Git-Tag: v0.7.5~124 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2b2dae816d4dea8f15fd8f523253745c3848504f;p=thirdparty%2Flibvirt.git Avoid an type-punned pointer aliasing pbm Fix this warning, there is no need to use an intermediate, different array pointer. network.c: In function 'getIPv6Addr': network.c:50: warning: dereferencing type-punned pointer will break strict-aliasing rules * src/util/network.c: avoid an intermediary pointer cast --- diff --git a/src/util/network.c b/src/util/network.c index aaea436a14..9b9b848dce 100644 --- a/src/util/network.c +++ b/src/util/network.c @@ -41,16 +41,13 @@ static int getIPv4Addr(virSocketAddrPtr addr, virIPv4AddrPtr tab) { } static int getIPv6Addr(virSocketAddrPtr addr, virIPv6AddrPtr tab) { - virIPv6AddrPtr val; int i; if ((addr == NULL) || (tab == NULL) || (addr->stor.ss_family != AF_INET6)) return(-1); - val = (virIPv6AddrPtr) &(addr->inet6.sin6_addr.s6_addr16); - for (i = 0;i < 8;i++) { - (*tab)[i] = ntohs((*val)[i]); + (*tab)[i] = ntohs(addr->inet6.sin6_addr.s6_addr16[i]); } return(0);