From c6a5e81c2123c9ee61be152ab620e7e74f5a75ef Mon Sep 17 00:00:00 2001 From: Florian Westphal Date: Mon, 7 Feb 2022 13:03:20 +0100 Subject: 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 --- src/parser_json.c | 8 ++++++-- 1 file 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; -- cgit v1.2.3