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;