]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
parser_bison: initializer_expr must use rhs_expr
authorPablo Neira Ayuso <pablo@netfilter.org>
Tue, 12 Jan 2016 12:43:05 +0000 (13:43 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Wed, 13 Jan 2016 12:02:41 +0000 (13:02 +0100)
Use rhs_expr and list_rhs_expr as possible occurrences of
initializer_expr since we may only find constant expressions on the
right hand side of the assignment.

Fixes: 2a5d44d8b3c (parser: get rid of multiton_expr from lhs relational expression)
Reported-by: Arturo Borrero Gonzalez <arturo.borrero.glez@gmail.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Tested-by: Florian Westphal <fw@strlen.de>
Tested-by: Arturo Borrero Gonzalez <arturo.borrero.glez@gmail.com>
src/parser_bison.y

index fcd4813e1dcf18ff199abe7c7f44bea0b74e4e78..fcf84b9ae0d73fbb1341e8abde6afa8ab2c16032 100644 (file)
@@ -490,8 +490,6 @@ static void location_update(struct location *loc, struct location *rhs, int n)
 %type <expr>                   stmt_expr concat_stmt_expr map_stmt_expr
 %destructor { expr_free($$); } stmt_expr concat_stmt_expr map_stmt_expr
 
-%type <expr>                   list_expr
-%destructor { expr_free($$); } list_expr
 %type <expr>                   concat_expr
 %destructor { expr_free($$); } concat_expr
 
@@ -1854,20 +1852,6 @@ concat_expr              :       basic_expr
                        }
                        ;
 
-list_expr              :       basic_expr              COMMA           basic_expr
-                       {
-                               $$ = list_expr_alloc(&@$);
-                               compound_expr_add($$, $1);
-                               compound_expr_add($$, $3);
-                       }
-                       |       list_expr               COMMA           basic_expr
-                       {
-                               $1->location = @$;
-                               compound_expr_add($1, $3);
-                               $$ = $1;
-                       }
-                       ;
-
 prefix_rhs_expr                :       basic_rhs_expr  SLASH   NUM
                        {
                                $$ = prefix_expr_alloc(&@$, $1, $3);
@@ -1976,8 +1960,8 @@ set_rhs_expr              :       concat_rhs_expr
                        |       verdict_expr
                        ;
 
-initializer_expr       :       expr
-                       |       list_expr
+initializer_expr       :       rhs_expr
+                       |       list_rhs_expr
                        ;
 
 relational_expr                :       expr    /* implicit */  rhs_expr