From 4ddbaf8a44e4bf46d3ebe3c5afc957ecd07cfa0a Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Mon, 12 Feb 2024 14:36:52 -0500 Subject: sanity: Don't use self-init for uninit() Self-initialization like bool ret = ret; is a GCC trick to suppress uninitialized variable warnings, but it's not actually well-defined, and will trip a recent enough MemorySanitizer: src/eval.c:1088:13: runtime error: load of value 128, which is not a valid value for type 'bool' --- src/eval.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/eval.c') diff --git a/src/eval.c b/src/eval.c index a4c0c11..6d7afad 100644 --- a/src/eval.c +++ b/src/eval.c @@ -1085,7 +1085,7 @@ bool eval_or(const struct bfs_expr *expr, struct bfs_eval *state) { * Evaluate the comma operator. */ bool eval_comma(const struct bfs_expr *expr, struct bfs_eval *state) { - bool ret = uninit(ret, false); + bool ret uninit(false); for (struct bfs_expr *child = bfs_expr_children(expr); child; child = child->next) { ret = eval_expr(child, state); -- cgit v1.2.3