diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2020-09-14 16:59:17 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2020-09-14 22:14:45 +0200 |
commit | 30fb63b524f8920ce01531947b7c595813a3ba32 (patch) | |
tree | fd0a87eed24880d12a85b920fac214e71df5abfc /src | |
parent | 09ed19a81af877b52d00ee30806e7b49c5e250dc (diff) |
evaluate: remove one indent level in __expr_evaluate_payload()
If there is protocol context for this base, just return from function
to remove one level of indentation. This patch is cleanup.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/evaluate.c | 49 |
1 files changed, 24 insertions, 25 deletions
diff --git a/src/evaluate.c b/src/evaluate.c index 8f133ea8..e3fe7062 100644 --- a/src/evaluate.c +++ b/src/evaluate.c @@ -707,33 +707,32 @@ static int __expr_evaluate_payload(struct eval_ctx *ctx, struct expr *expr) return -1; rule_stmt_insert_at(ctx->rule, nstmt, ctx->stmt); - } else { - /* No conflict: Same payload protocol as context, adjust offset - * if needed. - */ - if (desc == payload->payload.desc) { - payload->payload.offset += - ctx->pctx.protocol[base].offset; - return 0; - } - /* If we already have context and this payload is on the same - * base, try to resolve the protocol conflict. - */ - if (payload->payload.base == desc->base) { - err = resolve_protocol_conflict(ctx, desc, payload); - if (err <= 0) - return err; + return 0; + } - desc = ctx->pctx.protocol[base].desc; - if (desc == payload->payload.desc) - return 0; - } - return expr_error(ctx->msgs, payload, - "conflicting protocols specified: %s vs. %s", - ctx->pctx.protocol[base].desc->name, - payload->payload.desc->name); + /* No conflict: Same payload protocol as context, adjust offset + * if needed. + */ + if (desc == payload->payload.desc) { + payload->payload.offset += ctx->pctx.protocol[base].offset; + return 0; } - return 0; + /* If we already have context and this payload is on the same + * base, try to resolve the protocol conflict. + */ + if (payload->payload.base == desc->base) { + err = resolve_protocol_conflict(ctx, desc, payload); + if (err <= 0) + return err; + + desc = ctx->pctx.protocol[base].desc; + if (desc == payload->payload.desc) + return 0; + } + return expr_error(ctx->msgs, payload, + "conflicting protocols specified: %s vs. %s", + ctx->pctx.protocol[base].desc->name, + payload->payload.desc->name); } static bool payload_needs_adjustment(const struct expr *expr) |