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)
committerMichael Benedict <michaelbt@live.com>
Sat, 31 Aug 2019 16:02:41 +0000 (02:02 +1000)
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_n/ss/services.c

index f7d7b398ecd346c19acfb5b4983d1a97111994cc..615ce74999f5cb0b115af2a661ef4de978b972c0 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++;