]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
json: disallow empty concatenation
authorPablo Neira Ayuso <pablo@netfilter.org>
Thu, 27 Mar 2025 15:32:16 +0000 (16:32 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Tue, 29 Jul 2025 00:38:27 +0000 (02:38 +0200)
commit ab4ad2e12a059b31c4e65a8900e33bc88f2f5531 upstream.

Disallow empty concatenation in set declaration in json.

 internal:0:0-0: Error: Empty concatenation
 internal:0:0-0: Error: Invalid set type.
 internal:0:0-0: Error: Parsing command array at index 1 failed.

Joint work with Florian Westphal.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
src/parser_json.c

index c7649ccf5da35ad9a3ac4fc7bd5b30425fd7c15d..51ce2135e5fbd8310cde1a2e21c8de46fc0582f6 100644 (file)
@@ -1670,6 +1670,13 @@ static struct expr *json_parse_dtype_expr(struct json_ctx *ctx, json_t *root)
                        }
                        compound_expr_add(expr, i);
                }
+
+               if (list_empty(&expr->expressions)) {
+                       json_error(ctx, "Empty concatenation");
+                       expr_free(expr);
+                       return NULL;
+               }
+
                return expr;
        } else if (json_is_object(root)) {
                const char *key;