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 | } |