From 4062406e2a957323852dca73a41e0239f6b9df03 Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Mon, 25 May 2020 16:15:40 -0400 Subject: [PATCH] Fix: validate that array expression contains constant MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Mathieu Desnoyers Signed-off-by: Jérémie Galarneau Change-Id: Ic7ea2192b3bf0f5c32f5db8fce622f73b182906f --- src/common/filter/filter-visitor-generate-ir.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/common/filter/filter-visitor-generate-ir.c b/src/common/filter/filter-visitor-generate-ir.c index b7bc17d18..fb5d815d9 100644 --- a/src/common/filter/filter-visitor-generate-ir.c +++ b/src/common/filter/filter-visitor-generate-ir.c @@ -244,6 +244,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; -- 2.34.1