[PATCH] Fix potentially undefined behavior
Joel Teichroeb
joel at teichroeb.net
Tue Nov 23 18:01:40 PST 2010
Really this time.
---
wayland/wayland-util.h | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/wayland/wayland-util.h b/wayland/wayland-util.h
index 575e657..ebac305 100644
--- a/wayland/wayland-util.h
+++ b/wayland/wayland-util.h
@@ -94,19 +94,20 @@ int wl_list_empty(struct wl_list *list);
((char *)&(sample)->member - (char *)(sample)))
#define wl_list_for_each(pos, head, member) \
- for (pos = __container_of((head)->next, pos, member); \
+ for (pos = 0, pos = __container_of((head)->next, pos, member); \
&pos->member != (head); \
pos = __container_of(pos->member.next, pos, member))
#define wl_list_for_each_safe(pos, tmp, head, member) \
- for (pos = __container_of((head)->next, pos, member), \
+ for (pos = 0, tmp = 0, \
+ pos = __container_of((head)->next, pos, member), \
tmp = __container_of((pos)->member.next, tmp, member); \
&pos->member != (head); \
pos = tmp, \
tmp = __container_of(pos->member.next, tmp, member))
#define wl_list_for_each_reverse(pos, head, member) \
- for (pos = __container_of((head)->prev, pos, member); \
+ for (pos = 0, pos = __container_of((head)->prev, pos, member); \
&pos->member != (head); \
pos = __container_of(pos->member.prev, pos, member))
--
1.7.3.2
More information about the wayland-devel
mailing list