checkpolicy/checkpolicy-rhat.patch

30 lines
906 B
Diff

Index: checkpolicy/policy_parse.y
===================================================================
RCS file: /nfshome/pal/CVS/selinux-usr/checkpolicy/policy_parse.y,v
retrieving revision 1.41
diff -u -p -r1.41 policy_parse.y
--- checkpolicy/policy_parse.y 15 Aug 2005 16:10:56 -0000 1.41
+++ checkpolicy/policy_parse.y 22 Aug 2005 17:49:36 -0000
@@ -2965,6 +2965,7 @@ static int define_validatetrans(constrai
ebitmap_t classmap;
constraint_expr_t *e;
int depth;
+ unsigned char useexpr = 1;
if (pass == 1) {
while ((id = queue_remove(id_queue)))
@@ -3035,7 +3036,12 @@ static int define_validatetrans(constrai
return -1;
}
memset(node, 0, sizeof(constraint_node_t));
- node->expr = expr;
+ if (useexpr) {
+ node->expr = expr;
+ useexpr = 0;
+ } else {
+ node->expr = constraint_expr_clone(expr);
+ }
node->permissions = 0;
node->next = cladatum->validatetrans;