From: dcashman <dcash...@android.com>

cil_flavor enums stored in cil_list_items are not pointers, but rather
the actual enum value.  Remove pointer dereferences on this value to
avoid segfaults.

Signed-off-by: Daniel Cashman <dcash...@android.com>
---
 libsepol/cil/src/cil_policy.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/libsepol/cil/src/cil_policy.c b/libsepol/cil/src/cil_policy.c
index 78b135e..32b6b41 100644
--- a/libsepol/cil/src/cil_policy.c
+++ b/libsepol/cil/src/cil_policy.c
@@ -470,7 +470,7 @@ void cil_perms_to_policy(FILE **file_arr, uint32_t 
file_index, struct cil_list *
                        fprintf(file_arr[file_index], " %s", ((struct 
cil_symtab_datum *)curr->data)->name);
                        break;
                case CIL_OP: {
-                       enum cil_flavor op_flavor = *((enum cil_flavor 
*)curr->data);
+                       enum cil_flavor op_flavor = (enum cil_flavor)curr->data;
                        char *op_str = NULL;
 
                        switch (op_flavor) {
@@ -673,7 +673,7 @@ static int cil_expr_to_string(struct cil_list *expr, char 
**out)
                case CIL_OP: {
                        int len;
                        char *expr_str;
-                       enum cil_flavor op_flavor = *((enum cil_flavor 
*)curr->data);
+                       enum cil_flavor op_flavor = (enum cil_flavor)curr->data;
                        char *op_str = NULL;
 
                        if (pos == 0) {
@@ -742,7 +742,7 @@ static int cil_expr_to_string(struct cil_list *expr, char 
**out)
                        break;
                }
                case CIL_CONS_OPERAND: {
-                       enum cil_flavor operand_flavor = *((enum cil_flavor 
*)curr->data);
+                       enum cil_flavor operand_flavor = (enum 
cil_flavor)curr->data;
                        char *operand_str = NULL;
                        switch (operand_flavor) {
                        case CIL_CONS_U1:
-- 
2.8.0.rc3.226.g39d4020

_______________________________________________
Selinux mailing list
Selinux@tycho.nsa.gov
To unsubscribe, send email to selinux-le...@tycho.nsa.gov.
To get help, send an email containing "help" to selinux-requ...@tycho.nsa.gov.

Reply via email to