mirror of
https://github.com/topjohnwu/selinux.git
synced 2024-12-11 13:26:01 +00:00
libsepol/cil: Fix bug in cil_copy_avrule() in extended permission handling
When copying an avrule with extended permissions (permx) in cil_copy_avrule(), the check for a named permx checks the new permx instead of the old one, so the check will always fail. This leads to a segfault when trying to copy a named permx because there will be an attempt to copy the nonexistent permx struct instead of the name of the named permx. Check whether the original is a named permx instead of the new one. Signed-off-by: James Carter <jwcart2@tycho.nsa.gov>
This commit is contained in:
parent
7bece3768b
commit
11264556d8
@ -827,7 +827,7 @@ int cil_copy_avrule(struct cil_db *db, void *data, void **copy, __attribute__((u
|
||||
if (!new->is_extended) {
|
||||
cil_copy_classperms_list(orig->perms.classperms, &new->perms.classperms);
|
||||
} else {
|
||||
if (new->perms.x.permx_str != NULL) {
|
||||
if (orig->perms.x.permx_str != NULL) {
|
||||
new->perms.x.permx_str = orig->perms.x.permx_str;
|
||||
} else {
|
||||
cil_permissionx_init(&new->perms.x.permx);
|
||||
|
Loading…
Reference in New Issue
Block a user