From: Stephen Hemminger Date: Wed, 4 Oct 2023 17:00:19 +0000 (-0700) Subject: ila: fix array overflow warning X-Git-Tag: v6.6.0~13 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=beb5d379e19f88440012586ae1bc91d6d63a2594;p=thirdparty%2Fiproute2.git ila: fix array overflow warning Aliasing a 64 bit value seems to confuse Gcc 12.2. ipila.c:57:32: warning: ‘addr’ may be used uninitialized [-Wmaybe-uninitialized] Use a union instead. Signed-off-by: Stephen Hemminger --- diff --git a/ip/ipila.c b/ip/ipila.c index 23b19a108..f4387e039 100644 --- a/ip/ipila.c +++ b/ip/ipila.c @@ -47,14 +47,17 @@ static int genl_family = -1; static void print_addr64(__u64 addr, char *buff, size_t len) { - __u16 *words = (__u16 *)&addr; + union { + __u64 id64; + __u16 words[4]; + } id = { .id64 = addr }; __u16 v; int i, ret; size_t written = 0; char *sep = ":"; for (i = 0; i < 4; i++) { - v = ntohs(words[i]); + v = ntohs(id.words[i]); if (i == 3) sep = "";