summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2024-02-26 10:34:59 +0100
committerFlorian Westphal <fw@strlen.de>2024-02-26 13:01:07 +0100
commite4f59f2dc68fb2e6d62a6c37e04366a8ebd199cf (patch)
tree09cedca1a3a4267ca9a766f748e4eabffd4e2f37
parenta31d3cc48354bd5c6fc7090a6b8ae01bce3ba4fa (diff)
parser_json: allow 0 offsets again
Its valid in case of tcp option removal: [ { "reset": { "tcp option": { "base": 123, "len": 0, "offset": 0 } This makes nft-test.py -j pass again. Fixes: e08627257ecf ("parser: reject raw payload expressions with 0 length") Signed-off-by: Florian Westphal <fw@strlen.de>
-rw-r--r--src/parser_json.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/parser_json.c b/src/parser_json.c
index 970ae8cb..ff52423a 100644
--- a/src/parser_json.c
+++ b/src/parser_json.c
@@ -670,7 +670,7 @@ static struct expr *json_parse_tcp_option_expr(struct json_ctx *ctx,
if (kind < 0 || kind > 255)
return NULL;
- if (len <= 0 || len > (int)NFT_MAX_EXPR_LEN_BITS) {
+ if (len < 0 || len > (int)NFT_MAX_EXPR_LEN_BITS) {
json_error(ctx, "option length must be between 0 and %lu, got %d",
NFT_MAX_EXPR_LEN_BITS, len);
return NULL;