[PATCH] selinux: fix memory leak

This patch fixes a memory leak when a policydb structure is destroyed.

Signed-off-by: Darrel Goeddel <dgoeddel@trustedcs.com>
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
Acked-by: James Morris <jmorris@namei.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Darrel Goeddel 2006-07-30 03:03:17 -07:00 committed by Linus Torvalds
parent d1bbf14f37
commit ddccef3b5e

View File

@ -644,10 +644,18 @@ void policydb_destroy(struct policydb *p)
kfree(lra); kfree(lra);
for (rt = p->range_tr; rt; rt = rt -> next) { for (rt = p->range_tr; rt; rt = rt -> next) {
if (lrt) {
ebitmap_destroy(&lrt->range.level[0].cat);
ebitmap_destroy(&lrt->range.level[1].cat);
kfree(lrt); kfree(lrt);
}
lrt = rt; lrt = rt;
} }
if (lrt) {
ebitmap_destroy(&lrt->range.level[0].cat);
ebitmap_destroy(&lrt->range.level[1].cat);
kfree(lrt); kfree(lrt);
}
if (p->type_attr_map) { if (p->type_attr_map) {
for (i = 0; i < p->p_types.nprim; i++) for (i = 0; i < p->p_types.nprim; i++)