diff options
author | Florian Westphal <fw@strlen.de> | 2024-02-26 10:34:59 +0100 |
---|---|---|
committer | Florian Westphal <fw@strlen.de> | 2024-02-26 13:01:07 +0100 |
commit | e4f59f2dc68fb2e6d62a6c37e04366a8ebd199cf (patch) | |
tree | 09cedca1a3a4267ca9a766f748e4eabffd4e2f37 /src | |
parent | a31d3cc48354bd5c6fc7090a6b8ae01bce3ba4fa (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>
Diffstat (limited to 'src')
-rw-r--r-- | src/parser_json.c | 2 |
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; |