]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
Review raw payload allocation points
authorPhil Sutter <phil@nwl.cc>
Fri, 13 Apr 2018 14:52:28 +0000 (16:52 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Sat, 14 Apr 2018 11:53:02 +0000 (13:53 +0200)
In parser_bison.y, call payload_init_raw() instead of assigning all
fields manually. Also drop manual initialization of flags field: it is
not touched in allocation path, so no need for that.

In stmt_evaluate_payload(), setting dtype field is redundant since
payload_init_raw() does that already.

Signed-off-by: Phil Sutter <phil@nwl.cc>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
src/evaluate.c
src/parser_bison.y

index efdbb5e516eea2f98a8566dcfe296eaf4e3c5997..db63494ce2f3a7368cf76489679c780b45d3094e 100644 (file)
@@ -1951,7 +1951,6 @@ static int stmt_evaluate_payload(struct eval_ctx *ctx, struct stmt *stmt)
                         payload_byte_size * BITS_PER_BYTE);
 
        payload_bytes->payload.desc      = payload->payload.desc;
-       payload_bytes->dtype             = &integer_type;
        payload_bytes->byteorder         = payload->byteorder;
 
        payload->len = payload_bytes->len;
index f1617eeaf1496bf04e57d1259ff2309f34b2e499..93346d76e2ef52f6801ad3e61390bc31b47aba5b 100644 (file)
@@ -3682,13 +3682,9 @@ payload_expr             :       payload_raw_expr
 payload_raw_expr       :       AT      payload_base_spec       COMMA   NUM     COMMA   NUM
                        {
                                $$ = payload_expr_alloc(&@$, NULL, 0);
-                               $$->payload.base        = $2;
-                               $$->payload.offset      = $4;
-                               $$->len                 = $6;
-                               $$->dtype               = &integer_type;
+                               payload_init_raw($$, $2, $4, $6);
                                $$->byteorder           = BYTEORDER_BIG_ENDIAN;
                                $$->payload.is_raw      = true;
-                               $$->flags               = 0;
                        }
                        ;