]> git.ipfire.org Git - thirdparty/iproute2.git/commitdiff
tipc: fix clang warning in tipc/node.c
authorTuong Lien <tuong.t.lien@dektech.com.au>
Mon, 30 Dec 2019 03:03:33 +0000 (10:03 +0700)
committerStephen Hemminger <stephen@networkplumber.org>
Mon, 6 Jan 2020 21:12:48 +0000 (13:12 -0800)
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 <stephen@networkplumber.org>
Signed-off-by: Tuong Lien <tuong.t.lien@dektech.com.au>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
tipc/node.c

index 6c796bfbaac3b47228b711ec53c01b43933df32f..ffdaeaeabfbd059266aecdedba101613b632f85e 100644 (file)
@@ -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 },