diff options
Diffstat (limited to 'security/selinux/ss/conditional.c')
| -rw-r--r-- | security/selinux/ss/conditional.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/security/selinux/ss/conditional.c b/security/selinux/ss/conditional.c index b53441184aca..e2057f5a411a 100644 --- a/security/selinux/ss/conditional.c +++ b/security/selinux/ss/conditional.c | |||
| @@ -166,16 +166,14 @@ static void cond_list_destroy(struct cond_node *list) | |||
| 166 | 166 | ||
| 167 | void cond_policydb_destroy(struct policydb *p) | 167 | void cond_policydb_destroy(struct policydb *p) |
| 168 | { | 168 | { |
| 169 | if (p->bool_val_to_struct != NULL) | 169 | kfree(p->bool_val_to_struct); |
| 170 | kfree(p->bool_val_to_struct); | ||
| 171 | avtab_destroy(&p->te_cond_avtab); | 170 | avtab_destroy(&p->te_cond_avtab); |
| 172 | cond_list_destroy(p->cond_list); | 171 | cond_list_destroy(p->cond_list); |
| 173 | } | 172 | } |
| 174 | 173 | ||
| 175 | int cond_init_bool_indexes(struct policydb *p) | 174 | int cond_init_bool_indexes(struct policydb *p) |
| 176 | { | 175 | { |
| 177 | if (p->bool_val_to_struct) | 176 | kfree(p->bool_val_to_struct); |
| 178 | kfree(p->bool_val_to_struct); | ||
| 179 | p->bool_val_to_struct = (struct cond_bool_datum**) | 177 | p->bool_val_to_struct = (struct cond_bool_datum**) |
| 180 | kmalloc(p->p_bools.nprim * sizeof(struct cond_bool_datum*), GFP_KERNEL); | 178 | kmalloc(p->p_bools.nprim * sizeof(struct cond_bool_datum*), GFP_KERNEL); |
| 181 | if (!p->bool_val_to_struct) | 179 | if (!p->bool_val_to_struct) |
| @@ -185,8 +183,7 @@ int cond_init_bool_indexes(struct policydb *p) | |||
| 185 | 183 | ||
| 186 | int cond_destroy_bool(void *key, void *datum, void *p) | 184 | int cond_destroy_bool(void *key, void *datum, void *p) |
| 187 | { | 185 | { |
| 188 | if (key) | 186 | kfree(key); |
| 189 | kfree(key); | ||
| 190 | kfree(datum); | 187 | kfree(datum); |
| 191 | return 0; | 188 | return 0; |
| 192 | } | 189 | } |
