From b1a999892b9e13181ddd9a7d895f3d1c65fbb449 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Tue, 17 Sep 2024 12:18:04 -0400 Subject: opt: Fix an invalid assertion in sink_not_comma() When optimizing -not \( -a , -b \), the child is a comma expression, not the parent. Fixes: 4a36bb9 ("expr: Make expressions variadic") --- src/opt.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/opt.c b/src/opt.c index 86ce694..6b51d85 100644 --- a/src/opt.c +++ b/src/opt.c @@ -1402,12 +1402,11 @@ static struct bfs_expr *sink_not_andor(struct bfs_opt *opt, struct bfs_expr *exp /** Sink a negation into a comma expression. */ static struct bfs_expr *sink_not_comma(struct bfs_opt *opt, struct bfs_expr *expr) { - bfs_assert(expr->eval_fn == eval_comma); - - opt_enter(opt, "%pe\n", expr); - char **argv = expr->argv; expr = only_child(expr); + opt_enter(opt, "%pe\n", expr); + + bfs_assert(expr->eval_fn == eval_comma); struct bfs_exprs children; foster_children(expr, &children); -- cgit v1.2.3