58 lines
1.4 KiB
Diff
58 lines
1.4 KiB
Diff
From 8b115c45ad116030d29bb2b84a268e4083d7548c Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Christian=20G=C3=B6ttsche?= <cgzones@googlemail.com>
|
|
Date: Mon, 22 Jan 2024 14:54:56 +0100
|
|
Subject: [PATCH] checkpolicy: free ebitmap on error
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
Signed-off-by: Christian Göttsche <cgzones@googlemail.com>
|
|
Acked-by: James Carter <jwcart2@gmail.com>
|
|
---
|
|
policy_define.c | 8 +++++---
|
|
1 file changed, 5 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/policy_define.c b/policy_define.c
|
|
index db7e9d0e..053156df 100644
|
|
--- a/policy_define.c
|
|
+++ b/policy_define.c
|
|
@@ -2525,6 +2525,8 @@ static int define_te_avtab_helper(int which, avrule_t ** rule)
|
|
int add = 1, ret = 0;
|
|
int suppress = 0;
|
|
|
|
+ ebitmap_init(&tclasses);
|
|
+
|
|
avrule = (avrule_t *) malloc(sizeof(avrule_t));
|
|
if (!avrule) {
|
|
yyerror("memory error");
|
|
@@ -2571,7 +2573,6 @@ static int define_te_avtab_helper(int which, avrule_t ** rule)
|
|
}
|
|
}
|
|
|
|
- ebitmap_init(&tclasses);
|
|
ret = read_classes(&tclasses);
|
|
if (ret)
|
|
goto out;
|
|
@@ -2648,8 +2649,6 @@ static int define_te_avtab_helper(int which, avrule_t ** rule)
|
|
free(id);
|
|
}
|
|
|
|
- ebitmap_destroy(&tclasses);
|
|
-
|
|
avrule->perms = perms;
|
|
*rule = avrule;
|
|
|
|
@@ -2658,6 +2657,9 @@ static int define_te_avtab_helper(int which, avrule_t ** rule)
|
|
avrule_destroy(avrule);
|
|
free(avrule);
|
|
}
|
|
+
|
|
+ ebitmap_destroy(&tclasses);
|
|
+
|
|
return ret;
|
|
|
|
}
|
|
--
|
|
2.33.0
|
|
|