From fa1d5b344a9b30d9071909e1d4cc3343ba45fc97 Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Mon, 10 May 2021 18:52:47 +0200 Subject: evaluate: don't crash on set definition with incorrect datatype Cache updates have resurrected the bug described in 5afa5a164ff1 ("evaluate: check for NULL datatype in rhs in lookup expr"). This is triggered by testcases/cache/0008_delete_by_handle_0. Fixes: df48e56e987f ("cache: add hashtable cache for sets") Signed-off-by: Pablo Neira Ayuso --- src/evaluate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/evaluate.c') diff --git a/src/evaluate.c b/src/evaluate.c index 95189180..2e31ed10 100644 --- a/src/evaluate.c +++ b/src/evaluate.c @@ -262,7 +262,7 @@ static int expr_evaluate_symbol(struct eval_ctx *ctx, struct expr **expr) return table_not_found(ctx); set = set_cache_find(table, (*expr)->identifier); - if (set == NULL) + if (set == NULL || !set->key) return set_not_found(ctx, &(*expr)->location, (*expr)->identifier); -- cgit v1.2.3