diff options
author | Rasmus Villemoes <linux@rasmusvillemoes.dk> | 2015-10-21 17:44:26 -0400 |
---|---|---|
committer | Paul Moore <pmoore@redhat.com> | 2015-10-21 17:44:26 -0400 |
commit | 21b76f199e25d32b0a7ed3833ca9204898262c24 (patch) | |
tree | 3d68f278259a1bbe70e2e20354e64f9ba649b2f6 /security/selinux/ss/services.c | |
parent | aa736c36db3e583d249e1d23a3ac9223b1c55f95 (diff) | |
download | lwn-21b76f199e25d32b0a7ed3833ca9204898262c24.tar.gz lwn-21b76f199e25d32b0a7ed3833ca9204898262c24.zip |
selinux: use kstrdup() in security_get_bools()
This is much simpler.
Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Acked-by: Stephen Smalley <sds@tycho.nsa.gov>
Signed-off-by: Paul Moore <pmoore@redhat.com>
Diffstat (limited to 'security/selinux/ss/services.c')
-rw-r--r-- | security/selinux/ss/services.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/security/selinux/ss/services.c b/security/selinux/ss/services.c index 994c824a34c6..aa2bdcb20848 100644 --- a/security/selinux/ss/services.c +++ b/security/selinux/ss/services.c @@ -2609,18 +2609,12 @@ int security_get_bools(int *len, char ***names, int **values) goto err; for (i = 0; i < *len; i++) { - size_t name_len; - (*values)[i] = policydb.bool_val_to_struct[i]->state; - name_len = strlen(sym_name(&policydb, SYM_BOOLS, i)) + 1; rc = -ENOMEM; - (*names)[i] = kmalloc(sizeof(char) * name_len, GFP_ATOMIC); + (*names)[i] = kstrdup(sym_name(&policydb, SYM_BOOLS, i), GFP_ATOMIC); if (!(*names)[i]) goto err; - - strncpy((*names)[i], sym_name(&policydb, SYM_BOOLS, i), name_len); - (*names)[i][name_len - 1] = 0; } rc = 0; out: |