@@ -1699,6 +1699,8 @@ static int define_compute_type_helper(int which, avrule_t ** rule)
return -1;
}
+ ebitmap_init(&tclasses);
+
while ((id = queue_remove(id_queue))) {
if (set_types(&avrule->stypes, id, &add, 0))
goto bad;
@@ -1718,7 +1720,6 @@ static int define_compute_type_helper(int which, avrule_t ** rule)
goto bad;
}
- ebitmap_init(&tclasses);
if (read_classes(&tclasses))
goto bad;
@@ -1759,6 +1760,7 @@ static int define_compute_type_helper(int which, avrule_t ** rule)
return 0;
bad:
+ ebitmap_destroy(&tclasses);
avrule_destroy(avrule);
free(avrule);
return -1;