From d5391e186f04214315a5a80797c78e50ad9f5271 Mon Sep 17 00:00:00 2001 From: Tuong Lien Date: Mon, 30 Dec 2019 10:03:33 +0700 Subject: [PATCH] tipc: fix clang warning in tipc/node.c When building tipc with clang, the following warning is found: tipc CC bearer.o CC cmdl.o CC link.o CC media.o CC misc.o CC msg.o CC nametable.o CC node.o node.c:182:24: warning: field 'key' with variable sized type 'struct tipc_aead_key' not at the end of a struct or class is a GNU extension [-Wgnu-variable-sized-type-not-at-end] struct tipc_aead_key key; This commit fixes it by putting the memory area allocated for the user input key along with the variable-sized 'key' structure in the 'union' form instead. Fixes: 24bee3bf9752 ("tipc: add new commands to set TIPC AEAD key") Reported-by: Stephen Hemminger Signed-off-by: Tuong Lien Signed-off-by: Stephen Hemminger --- tipc/node.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tipc/node.c b/tipc/node.c index 6c796bfba..ffdaeaeab 100644 --- a/tipc/node.c +++ b/tipc/node.c @@ -179,8 +179,10 @@ static int cmd_node_set_key(struct nlmsghdr *nlh, const struct cmd *cmd, struct cmdl *cmdl, void *data) { struct { - struct tipc_aead_key key; - char mem[TIPC_AEAD_KEYLEN_MAX + 1]; + union { + struct tipc_aead_key key; + char mem[TIPC_AEAD_KEY_SIZE_MAX]; + }; } input = {}; struct opt opts[] = { { "algname", OPT_KEYVAL, NULL }, -- 2.47.2