]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
evaluate: remove one indent level in __expr_evaluate_payload()
authorPablo Neira Ayuso <pablo@netfilter.org>
Mon, 14 Sep 2020 14:59:17 +0000 (16:59 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Mon, 14 Sep 2020 20:14:45 +0000 (22:14 +0200)
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>
src/evaluate.c

index 8f133ea8c384f741eb8ab5874e6c3d426bb9d5a9..e3fe70624699bb4a18b8d7fa9b84d65a57bd3a3e 100644 (file)
@@ -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)