OSDN Git Service

selinux: Remove unnecessary check of array base in selinux_set_mapping()
authorMatthias Kaehlcke <mka@chromium.org>
Thu, 16 Mar 2017 22:26:52 +0000 (15:26 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 8 Apr 2018 09:51:57 +0000 (11:51 +0200)
commit 342e91578eb6909529bc7095964cd44b9c057c4e upstream.

'perms' will never be NULL since it isn't a plain pointer but an array
of u32 values.

This fixes the following warning when building with clang:

security/selinux/ss/services.c:158:16: error: address of array
'p_in->perms' will always evaluate to 'true'
[-Werror,-Wpointer-bool-conversion]
                while (p_in->perms && p_in->perms[k]) {

Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
Signed-off-by: Paul Moore <paul@paul-moore.com>
Cc: Nathan Chancellor <natechancellor@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
security/selinux/ss/services.c

index db7eff3..23dca68 100644 (file)
@@ -155,7 +155,7 @@ static int selinux_set_mapping(struct policydb *pol,
                }
 
                k = 0;
-               while (p_in->perms && p_in->perms[k]) {
+               while (p_in->perms[k]) {
                        /* An empty permission string skips ahead */
                        if (!*p_in->perms[k]) {
                                k++;