selinux: avoid uninitialized variable warning
authorArnd Bergmann <arnd@arndb.de>
Mon, 25 Mar 2019 14:23:11 +0000 (15:23 +0100)
committerPaul Moore <paul@paul-moore.com>
Mon, 25 Mar 2019 14:34:35 +0000 (10:34 -0400)
commit98bbbb76f2edcfb8fb2b8f4b3ccc7b6e99d64bd8
tree4f7ba5d1d0ea45e637333dcfb73d396f70a95f21
parent9e0cfe28fa32f6fefd831192a4d0b19c804c746b
selinux: avoid uninitialized variable warning

clang correctly points out a code path that would lead
to an uninitialized variable use:

security/selinux/netlabel.c:310:6: error: variable 'addr' is used uninitialized whenever 'if' condition is false
      [-Werror,-Wsometimes-uninitialized]
        if (ip_hdr(skb)->version == 4) {
            ^~~~~~~~~~~~~~~~~~~~~~~~~
security/selinux/netlabel.c:322:40: note: uninitialized use occurs here
        rc = netlbl_conn_setattr(ep->base.sk, addr, &secattr);
                                              ^~~~
security/selinux/netlabel.c:310:2: note: remove the 'if' if its condition is always true
        if (ip_hdr(skb)->version == 4) {
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
security/selinux/netlabel.c:291:23: note: initialize the variable 'addr' to silence this warning
        struct sockaddr *addr;
                             ^
                              = NULL

This is probably harmless since we should not see ipv6 packets
of CONFIG_IPV6 is disabled, but it's better to rearrange the code
so this cannot happen.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
[PM: removed old patchwork link, fixed checkpatch.pl style errors]
Signed-off-by: Paul Moore <paul@paul-moore.com>
security/selinux/netlabel.c