- for (entry = cds_hlist_entry((head)->next, __typeof__(*entry), member); \
- (&entry->member != NULL) && (e = cds_hlist_entry(entry->member.next, \
- __typeof__(*entry), member), 1); \
+ for (entry = ((head)->next == NULL ? NULL \
+ : cds_hlist_entry((head)->next, __typeof__(*entry), member)); \
+ (entry != NULL) && (e = (entry->member.next == NULL ? NULL \
+ : cds_hlist_entry(entry->member.next, \
+ __typeof__(*entry), member)), 1); \