From 2b11e53e5538cb26c34cb4106fe88d8367cd6d6d Mon Sep 17 00:00:00 2001 From: Darrel Goeddel Date: Sun, 30 Jul 2006 03:03:17 -0700 Subject: [PATCH] --- yaml --- r: 32920 b: refs/heads/master c: ddccef3b5ec906ff181171e8ffad4fcb996792fd h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/security/selinux/ss/policydb.c | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 8169a6c64336..59b11a7e7a9f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d1bbf14f37261c2c0dba71404602e1ddcec069d2 +refs/heads/master: ddccef3b5ec906ff181171e8ffad4fcb996792fd diff --git a/trunk/security/selinux/ss/policydb.c b/trunk/security/selinux/ss/policydb.c index 0111990ba837..f03960e697ce 100644 --- a/trunk/security/selinux/ss/policydb.c +++ b/trunk/security/selinux/ss/policydb.c @@ -644,10 +644,18 @@ void policydb_destroy(struct policydb *p) kfree(lra); for (rt = p->range_tr; rt; rt = rt -> next) { - kfree(lrt); + if (lrt) { + ebitmap_destroy(&lrt->range.level[0].cat); + ebitmap_destroy(&lrt->range.level[1].cat); + kfree(lrt); + } lrt = rt; } - kfree(lrt); + if (lrt) { + ebitmap_destroy(&lrt->range.level[0].cat); + ebitmap_destroy(&lrt->range.level[1].cat); + kfree(lrt); + } if (p->type_attr_map) { for (i = 0; i < p->p_types.nprim; i++)