From: Mathieu Desnoyers Date: Mon, 25 May 2020 20:15:40 +0000 (-0400) Subject: Fix: validate that array expression contains constant X-Git-Tag: v2.11.7~14 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=5e0d83f005858aac77bec1c8eeecf723879f63da;p=lttng-tools.git Fix: validate that array expression contains constant Signed-off-by: Mathieu Desnoyers Signed-off-by: Jérémie Galarneau Change-Id: Ic4f9b178d918b2c7c9dd27bc6a30c1798a171727 --- diff --git a/src/lib/lttng-ctl/filter/filter-visitor-generate-ir.c b/src/lib/lttng-ctl/filter/filter-visitor-generate-ir.c index a189c4e9b..d2165e640 100644 --- a/src/lib/lttng-ctl/filter/filter-visitor-generate-ir.c +++ b/src/lib/lttng-ctl/filter/filter-visitor-generate-ir.c @@ -254,6 +254,11 @@ struct ir_load_expression *create_load_expression(struct filter_node *node) bracket_node != NULL; bracket_node = bracket_node->u.expression.next_bracket) { prev_op = load_exp_op; + if (bracket_node->type != NODE_EXPRESSION || + bracket_node->u.expression.type != AST_EXP_CONSTANT) { + fprintf(stderr, "[error] Expecting constant index in array expression\n"); + goto error; + } load_exp_op = calloc(sizeof(struct ir_load_expression_op), 1); if (!load_exp_op) goto error;