18f8747b28
When checking for circular class permission declarations and a class mapping is encountered, the class permissions for each map permission must be checked. An assumption was made that there were no operators in the class permissions. An operator in the class permissions would cause a segfault. Example causing segault: (classmap cm1 (mp1)) (classmapping cm1 mp1 (CLASS (PERM))) (classpermission cp1) (classpermissionset cp1 (cm1 (all))) For map class permissions, check each item in the permission list to see if it is an operator. If it is not, then verify the class permissions associated with the map permission. If it is an operator and the operator is "all", then create a list of all permissions for that map class and verify the class permissions associated with each map permission. If it is a different operator, then it can be skipped. This bug was found by the secilc-fuzzer. Signed-off-by: James Carter <jwcart2@gmail.com> |
||
---|---|---|
.. | ||
cil | ||
fuzz | ||
include | ||
man | ||
src | ||
tests | ||
utils | ||
.gitignore | ||
COPYING | ||
Makefile | ||
VERSION |