102 lines
4.2 KiB
Diff
102 lines
4.2 KiB
Diff
From d16a1e4647a5ef2da5238f3d7829e73ceb37e5ff Mon Sep 17 00:00:00 2001
|
|
From: James Carter <jwcart2@gmail.com>
|
|
Date: Mon, 16 Nov 2020 17:07:02 -0500
|
|
Subject: [PATCH] libsepol/cil: Use the macro FLAVOR() whenever possible
|
|
|
|
In cil_symtab.h, the macro FLAVOR() is defined. It refers to the
|
|
flavor of the first node in the list of nodes that declare the datum.
|
|
(The flavors of every node should be the same.) While the macro was
|
|
used in many places, it was not used everywhere that it could be.
|
|
|
|
Change all the remaining places to use FLAVOR().
|
|
|
|
Signed-off-by: James Carter <jwcart2@gmail.com>
|
|
---
|
|
libsepol/cil/src/cil_find.c | 8 ++++----
|
|
libsepol/cil/src/cil_post.c | 2 +-
|
|
libsepol/cil/src/cil_resolve_ast.c | 8 ++++----
|
|
3 files changed, 9 insertions(+), 9 deletions(-)
|
|
|
|
diff --git a/libsepol/cil/src/cil_find.c b/libsepol/cil/src/cil_find.c
|
|
index c182406..638b675 100644
|
|
--- a/libsepol/cil/src/cil_find.c
|
|
+++ b/libsepol/cil/src/cil_find.c
|
|
@@ -44,8 +44,8 @@ struct cil_args_find {
|
|
|
|
static int cil_type_match_any(struct cil_symtab_datum *d1, struct cil_symtab_datum *d2)
|
|
{
|
|
- enum cil_flavor f1 = ((struct cil_tree_node*)d1->nodes->head->data)->flavor;
|
|
- enum cil_flavor f2 = ((struct cil_tree_node*)d2->nodes->head->data)->flavor;
|
|
+ enum cil_flavor f1 = FLAVOR(d1);
|
|
+ enum cil_flavor f2 = FLAVOR(d2);
|
|
|
|
if (f1 != CIL_TYPEATTRIBUTE && f2 != CIL_TYPEATTRIBUTE) {
|
|
struct cil_type *t1 = (struct cil_type *)d1;
|
|
@@ -81,8 +81,8 @@ static int cil_type_match_any(struct cil_symtab_datum *d1, struct cil_symtab_dat
|
|
static int cil_type_matches(ebitmap_t *matches, struct cil_symtab_datum *d1, struct cil_symtab_datum *d2)
|
|
{
|
|
int rc = SEPOL_OK;
|
|
- enum cil_flavor f1 = ((struct cil_tree_node*)d1->nodes->head->data)->flavor;
|
|
- enum cil_flavor f2 = ((struct cil_tree_node*)d2->nodes->head->data)->flavor;
|
|
+ enum cil_flavor f1 = FLAVOR(d1);
|
|
+ enum cil_flavor f2 = FLAVOR(d2);
|
|
|
|
if (f1 != CIL_TYPEATTRIBUTE && f2 != CIL_TYPEATTRIBUTE) {
|
|
struct cil_type *t1 = (struct cil_type *)d1;
|
|
diff --git a/libsepol/cil/src/cil_post.c b/libsepol/cil/src/cil_post.c
|
|
index a0cadfd..37a4441 100644
|
|
--- a/libsepol/cil/src/cil_post.c
|
|
+++ b/libsepol/cil/src/cil_post.c
|
|
@@ -1482,7 +1482,7 @@ static void __mark_neverallow_attrs(struct cil_list *expr_list)
|
|
|
|
cil_list_for_each(curr, expr_list) {
|
|
if (curr->flavor == CIL_DATUM) {
|
|
- if (NODE(curr->data)->flavor == CIL_TYPEATTRIBUTE) {
|
|
+ if (FLAVOR(curr->data) == CIL_TYPEATTRIBUTE) {
|
|
struct cil_typeattribute *attr = curr->data;
|
|
if (strstr(DATUM(attr)->name, TYPEATTR_INFIX)) {
|
|
__mark_neverallow_attrs(attr->expr_list);
|
|
diff --git a/libsepol/cil/src/cil_resolve_ast.c b/libsepol/cil/src/cil_resolve_ast.c
|
|
index 060bc0d..f6deb10 100644
|
|
--- a/libsepol/cil/src/cil_resolve_ast.c
|
|
+++ b/libsepol/cil/src/cil_resolve_ast.c
|
|
@@ -505,7 +505,7 @@ int cil_resolve_aliasactual(struct cil_tree_node *current, void *extra_args, enu
|
|
if (rc != SEPOL_OK) {
|
|
goto exit;
|
|
}
|
|
- if (NODE(alias_datum)->flavor != alias_flavor) {
|
|
+ if (FLAVOR(alias_datum) != alias_flavor) {
|
|
cil_log(CIL_ERR, "%s is not an alias\n",alias_datum->name);
|
|
rc = SEPOL_ERR;
|
|
goto exit;
|
|
@@ -516,7 +516,7 @@ int cil_resolve_aliasactual(struct cil_tree_node *current, void *extra_args, enu
|
|
goto exit;
|
|
}
|
|
|
|
- if (NODE(actual_datum)->flavor != flavor && NODE(actual_datum)->flavor != alias_flavor) {
|
|
+ if (FLAVOR(actual_datum) != flavor && FLAVOR(actual_datum) != alias_flavor) {
|
|
cil_log(CIL_ERR, "%s is a %s, but aliases a %s\n", alias_datum->name, cil_node_to_string(NODE(alias_datum)), cil_node_to_string(NODE(actual_datum)));
|
|
rc = SEPOL_ERR;
|
|
goto exit;
|
|
@@ -2573,7 +2573,7 @@ int cil_resolve_bounds(struct cil_tree_node *current, void *extra_args, enum cil
|
|
if (rc != SEPOL_OK) {
|
|
goto exit;
|
|
}
|
|
- if (NODE(parent_datum)->flavor == attr_flavor) {
|
|
+ if (FLAVOR(parent_datum) == attr_flavor) {
|
|
cil_log(CIL_ERR, "Bounds parent %s is an attribute\n", bounds->parent_str);
|
|
rc = SEPOL_ERR;
|
|
goto exit;
|
|
@@ -2584,7 +2584,7 @@ int cil_resolve_bounds(struct cil_tree_node *current, void *extra_args, enum cil
|
|
if (rc != SEPOL_OK) {
|
|
goto exit;
|
|
}
|
|
- if (NODE(child_datum)->flavor == attr_flavor) {
|
|
+ if (FLAVOR(child_datum) == attr_flavor) {
|
|
cil_log(CIL_ERR, "Bounds child %s is an attribute\n", bounds->child_str);
|
|
rc = SEPOL_ERR;
|
|
goto exit;
|
|
--
|
|
1.8.3.1
|
|
|