diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2020-05-05 20:12:46 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2020-05-05 20:21:27 +0200 |
commit | d0d564ed1fba00cc3b2fdf4d646f080b2790b76a (patch) | |
tree | 698d17c51a94b3d82512b7ce1608a505a6e649ea /src/netlink_delinearize.c | |
parent | eea03c8fb560a8a6deede1bccbce78b52b2c2905 (diff) |
src: add rule_stmt_append() and use it
This helper function adds a statement at the end of the rule statement
list and it updates the rule statement counter.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/netlink_delinearize.c')
-rw-r--r-- | src/netlink_delinearize.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/netlink_delinearize.c b/src/netlink_delinearize.c index f721d15c..7f7ad262 100644 --- a/src/netlink_delinearize.c +++ b/src/netlink_delinearize.c @@ -563,8 +563,7 @@ static void netlink_parse_payload_stmt(struct netlink_parse_ctx *ctx, payload_init_raw(expr, base, offset, len); stmt = payload_stmt_alloc(loc, expr, val); - - list_add_tail(&stmt->list, &ctx->rule->stmts); + rule_stmt_append(ctx->rule, stmt); } static void netlink_parse_payload(struct netlink_parse_ctx *ctx, @@ -615,7 +614,7 @@ static void netlink_parse_exthdr(struct netlink_parse_ctx *ctx, expr_set_type(val, expr->dtype, expr->byteorder); stmt = exthdr_stmt_alloc(loc, expr, val); - list_add_tail(&stmt->list, &ctx->rule->stmts); + rule_stmt_append(ctx->rule, stmt); } } @@ -1672,7 +1671,7 @@ static int netlink_parse_rule_expr(struct nftnl_expr *nle, void *arg) if (err < 0) return err; if (ctx->stmt != NULL) { - list_add_tail(&ctx->stmt->list, &ctx->rule->stmts); + rule_stmt_append(ctx->rule, ctx->stmt); ctx->stmt = NULL; } return 0; |