[quagga-dev 10027] [PATCH] lib: remove ALL_LIST_ELEMENTS dead code branch

David Lamparter equinox at opensourcerouting.org
Tue Nov 27 02:21:44 GMT 2012


ALL_LIST_ELEMENTS is checking node == NULL twice, which is causing a
whole slew of false positives in Coverity.  In this particular case,
addressing this in the code is reasonable; being a macro, this appears
all over the place without easy remedy.

Signed-off-by: David Lamparter <equinox at opensourcerouting.org>
---
 lib/linklist.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/lib/linklist.h b/lib/linklist.h
index f0ae362..24a9e20 100644
--- a/lib/linklist.h
+++ b/lib/linklist.h
@@ -90,7 +90,7 @@ extern void list_add_list (struct list *, struct list *);
 #define ALL_LIST_ELEMENTS(list,node,nextnode,data) \
   (node) = listhead(list), ((data) = NULL); \
   (node) != NULL && \
-    ((data) = listgetdata(node),(nextnode) = listnextnode(node), 1); \
+    ((data) = listgetdata(node),(nextnode) = node->next, 1); \
   (node) = (nextnode), ((data) = NULL)
 
 /* read-only list iteration macro.
-- 
1.7.8.6




More information about the Quagga-dev mailing list