On Fri, Aug 15, 2014 at 12:20:43PM -0700, [email protected] wrote: > Signed-off-by: John Johansen <[email protected]>
Acked-by: Seth Arnold <[email protected]> Thanks > > --- > parser/libapparmor_re/aare_rules.cc | 28 ++++++++++++++++++---------- > parser/libapparmor_re/aare_rules.h | 1 + > 2 files changed, 19 insertions(+), 10 deletions(-) > > --- 2.9-test.orig/parser/libapparmor_re/aare_rules.cc > +++ 2.9-test/parser/libapparmor_re/aare_rules.cc > @@ -76,6 +76,21 @@ > #undef RESET_FLAGS > } > > +void aare_rules::add_to_rules(Node *tree, Node *perms) > +{ > + if (reverse) > + flip_tree(tree); > + if (root) > + root = new AltNode(root, new CatNode(tree, perms)); > + else > + root = new CatNode(tree, perms); > +} > + > +static Node *cat_with_null_seperator(Node *l, Node *r) > +{ > + return new CatNode(new CatNode(l, new CharNode(0)), r); > +} > + > bool aare_rules::add_rule_vec(int deny, uint32_t perms, uint32_t audit, > int count, const char **rulev, dfaflags_t flags) > { > @@ -89,13 +104,9 @@ > return false; > for (int i = 1; i < count; i++) { > Node *subtree = NULL; > - Node *node = new CharNode(0); > - if (!node) > - return false; > - tree = new CatNode(tree, node); > if (regex_parse(&subtree, rulev[i])) > - return false; > - tree = new CatNode(tree, subtree); > + return 0; > + tree = cat_with_null_seperator(tree, subtree); > } > > /* > @@ -200,10 +211,7 @@ > cerr << "\n\n"; > } > > - if (root) > - root = new AltNode(root, new CatNode(tree, accept)); > - else > - root = new CatNode(tree, accept); > + add_to_rules(tree, accept); > > rule_count++; > > --- 2.9-test.orig/parser/libapparmor_re/aare_rules.h > +++ 2.9-test/parser/libapparmor_re/aare_rules.h > @@ -28,6 +28,7 @@ > > class aare_rules { > Node *root; > + void add_to_rules(Node *tree, Node *perms); > public: > int reverse; > int rule_count; > > > -- > AppArmor mailing list > [email protected] > Modify settings or unsubscribe at: > https://lists.ubuntu.com/mailman/listinfo/apparmor >
signature.asc
Description: Digital signature
-- AppArmor mailing list [email protected] Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/apparmor
