From: Pablo Neira Ayuso Date: Mon, 19 Jun 2017 11:59:33 +0000 (+0200) Subject: evaluate: Better error reporting for bad set references X-Git-Tag: v0.8~134 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d129f83435adf65d30de28d50de0792b731f87a6;p=thirdparty%2Fnftables.git evaluate: Better error reporting for bad set references In case you refer to an unexisting set, bail out with: # nft add table x # nft add chain x y # nft add rule x y ip protocol vmap @reject_to_rule2; :1:31-46: Error: Set 'reject_to_rule2' does not exist add rule x y ip protocol vmap @reject_to_rule2 ^^^^^^^^^^^^^^^^ Signed-off-by: Pablo Neira Ayuso --- diff --git a/src/evaluate.c b/src/evaluate.c index ec898033c..ca8b63b74 100644 --- a/src/evaluate.c +++ b/src/evaluate.c @@ -192,8 +192,9 @@ static int expr_evaluate_symbol(struct eval_ctx *ctx, struct expr **expr) set = set_lookup(table, (*expr)->identifier); if (set == NULL) - return cmd_error(ctx, "Could not process rule: Set '%s' does not exist", - (*expr)->identifier); + return expr_error(ctx->msgs, *expr, + "Set '%s' does not exist", + (*expr)->identifier); new = set_ref_expr_alloc(&(*expr)->location, set); break; }