Lines Matching defs:new_rule
1229 avrule_t *cur, *new_rule = NULL, *tail;
1239 if ((new_rule = (avrule_t *) malloc(sizeof(avrule_t))) == NULL) {
1242 avrule_init(new_rule);
1244 new_rule->specified = cur->specified;
1245 new_rule->flags = cur->flags;
1247 (&cur->stypes, &new_rule->stypes, module) == -1
1248 || type_set_convert(&cur->ttypes, &new_rule->ttypes, module) == -1) {
1265 if (new_rule->specified & AVRULE_AV) {
1283 if (new_rule->perms == NULL) {
1284 new_rule->perms = new_perm;
1294 new_rule->xperms = calloc(1, sizeof(*new_rule->xperms));
1295 if (!new_rule->xperms)
1297 memcpy(new_rule->xperms, cur->xperms,
1298 sizeof(*new_rule->xperms));
1301 new_rule->line = cur->line;
1302 new_rule->source_line = cur->source_line;
1304 new_rule->source_filename = strdup(cur->source_filename);
1305 if (!new_rule->source_filename)
1312 *dst = new_rule;
1314 tail->next = new_rule;
1316 tail = new_rule;
1322 avrule_destroy(new_rule);
1323 free(new_rule);
1331 role_trans_rule_t *cur, *new_rule = NULL, *tail;
1339 if ((new_rule =
1344 role_trans_rule_init(new_rule);
1347 (&cur->roles, &new_rule->roles, module, state)
1348 || type_set_or_convert(&cur->types, &new_rule->types,
1353 if (ebitmap_convert(&cur->classes, &new_rule->classes, module->map[SYM_CLASSES]))
1356 new_rule->new_role = module->map[SYM_ROLES][cur->new_role - 1];
1359 *dst = new_rule;
1361 tail->next = new_rule;
1363 tail = new_rule;
1369 role_trans_rule_list_destroy(new_rule);
1377 role_allow_rule_t *cur, *new_rule = NULL, *tail;
1386 if ((new_rule =
1391 role_allow_rule_init(new_rule);
1394 (&cur->roles, &new_rule->roles, module, state)
1396 &new_rule->new_roles, module,
1401 *dst = new_rule;
1403 tail->next = new_rule;
1405 tail = new_rule;
1411 role_allow_rule_list_destroy(new_rule);
1420 filename_trans_rule_t *cur, *new_rule, *tail;
1428 new_rule = malloc(sizeof(*new_rule));
1429 if (!new_rule)
1432 filename_trans_rule_init(new_rule);
1435 *dst = new_rule;
1437 tail->next = new_rule;
1438 tail = new_rule;
1440 new_rule->name = strdup(cur->name);
1441 if (!new_rule->name)
1444 if (type_set_or_convert(&cur->stypes, &new_rule->stypes, module) ||
1445 type_set_or_convert(&cur->ttypes, &new_rule->ttypes, module))
1448 new_rule->tclass = module->map[SYM_CLASSES][cur->tclass - 1];
1449 new_rule->otype = module->map[SYM_TYPES][cur->otype - 1];
1450 new_rule->flags = cur->flags;
1464 range_trans_rule_t *rule, *new_rule = NULL;
1467 new_rule =
1469 if (!new_rule)
1472 range_trans_rule_init(new_rule);
1474 new_rule->next = *dst;
1475 *dst = new_rule;
1477 if (type_set_convert(&rule->stypes, &new_rule->stypes,
1481 if (type_set_convert(&rule->ttypes, &new_rule->ttypes,
1485 if (ebitmap_convert(&rule->tclasses, &new_rule->tclasses, mod->map[SYM_CLASSES]))
1488 if (mls_range_convert(&rule->trange, &new_rule->trange, mod, state))
1495 range_trans_rule_list_destroy(new_rule);