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>
This commit is contained in:
Rasmus Villemoes 2015-10-21 17:44:26 -04:00 committed by Paul Moore
parent aa736c36db
commit 21b76f199e
1 changed files with 1 additions and 7 deletions

View File

@ -2609,18 +2609,12 @@ int security_get_bools(int *len, char ***names, int **values)
goto err; goto err;
for (i = 0; i < *len; i++) { for (i = 0; i < *len; i++) {
size_t name_len;
(*values)[i] = policydb.bool_val_to_struct[i]->state; (*values)[i] = policydb.bool_val_to_struct[i]->state;
name_len = strlen(sym_name(&policydb, SYM_BOOLS, i)) + 1;
rc = -ENOMEM; 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]) if (!(*names)[i])
goto err; goto err;
strncpy((*names)[i], sym_name(&policydb, SYM_BOOLS, i), name_len);
(*names)[i][name_len - 1] = 0;
} }
rc = 0; rc = 0;
out: out: