From 3274a78be9dc573d9644f50782368c2664bc5987 Mon Sep 17 00:00:00 2001 From: Snaipe Date: Mon, 23 Mar 2015 16:52:17 +0100 Subject: [PATCH] Fixed infinite loop when breaking from FOREACH_SET --- include/criterion/ordered-set.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/criterion/ordered-set.h b/include/criterion/ordered-set.h index 960b57e..a8d1b11 100644 --- a/include/criterion/ordered-set.h +++ b/include/criterion/ordered-set.h @@ -54,6 +54,6 @@ void *insert_ordered_set(struct criterion_ordered_set *l, void *ptr, size_t size # define FOREACH_SET(Elt, Set) \ for (struct criterion_ordered_set_node *n = Set->first; n; n = n->next) \ for (int cond = 1; cond;) \ - for (Elt = (void*) n->data; cond; cond = 0) + for (Elt = (void*) n->data; cond && (cond = 0, 1);) #endif /* !CRITERION_ORDERED_SET_H_ */