aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Paris <eparis@redhat.com>2012-04-04 13:47:11 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-06-01 15:18:16 +0800
commitc3083d9d9e5860c365e93b1e96aa65613fa829fb (patch)
tree00f75dd01c3f4ac248abec379ca246a38a3fb8a0
parent305d212b5e9d473230de491b2b722424af1dfc9b (diff)
SELinux: if sel_make_bools errors don't leave inconsistent state
commit 154c50ca4eb9ae472f50b6a481213e21ead4457d upstream. We reset the bool names and values array to NULL, but do not reset the number of entries in these arrays to 0. If we error out and then get back into this function we will walk these NULL pointers based on the belief that they are non-zero length. Signed-off-by: Eric Paris <eparis@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--security/selinux/selinuxfs.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/security/selinux/selinuxfs.c b/security/selinux/selinuxfs.c
index d7018bfa1f0..3068d16cf12 100644
--- a/security/selinux/selinuxfs.c
+++ b/security/selinux/selinuxfs.c
@@ -1232,6 +1232,7 @@ static int sel_make_bools(void)
kfree(bool_pending_names[i]);
kfree(bool_pending_names);
kfree(bool_pending_values);
+ bool_num = 0;
bool_pending_names = NULL;
bool_pending_values = NULL;