diff options
author | Florian Westphal <fw@strlen.de> | 2022-02-07 13:03:20 +0100 |
---|---|---|
committer | Florian Westphal <fw@strlen.de> | 2022-02-07 14:56:26 +0100 |
commit | c6a5e81c2123c9ee61be152ab620e7e74f5a75ef (patch) | |
tree | e4f30cfd11c4428f95c2ce7c34e457089f7c149e /src/parser_json.c | |
parent | 160d44c91113849b9c09f6bbad159e10ded1ca54 (diff) |
parser_json: fix flowtable device datatype
Failed with: BUG: invalid expresion type symbol
Fixes: 78bbe7f7a55be489 ("mnl: do not use expr->identifier to fetch device name")
Signed-off-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'src/parser_json.c')
-rw-r--r-- | src/parser_json.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/parser_json.c b/src/parser_json.c index f07b798a..2ab01964 100644 --- a/src/parser_json.c +++ b/src/parser_json.c @@ -3125,7 +3125,9 @@ static struct expr *json_parse_flowtable_devs(struct json_ctx *ctx, size_t index; if (!json_unpack(root, "s", &dev)) { - tmp = symbol_expr_alloc(int_loc, SYMBOL_VALUE, NULL, dev); + tmp = constant_expr_alloc(int_loc, &string_type, + BYTEORDER_HOST_ENDIAN, + strlen(dev) * BITS_PER_BYTE, dev); compound_expr_add(expr, tmp); return expr; } @@ -3141,7 +3143,9 @@ static struct expr *json_parse_flowtable_devs(struct json_ctx *ctx, expr_free(expr); return NULL; } - tmp = symbol_expr_alloc(int_loc, SYMBOL_VALUE, NULL, dev); + tmp = constant_expr_alloc(int_loc, &string_type, + BYTEORDER_HOST_ENDIAN, + strlen(dev) * BITS_PER_BYTE, dev); compound_expr_add(expr, tmp); } return expr; |