On Fri, Jan 09, 2015 at 01:47:40PM +0100, Alvaro Neira Ayuso wrote: > Now, we create iterator without test if the list is empty. If the list > is empty, we have a crash when we set up the current element. > With this patch, we test if the list is empty before to create the iterator. If > the list is empty the iterator return NULL. Please, handle this from the _next() function. The idea is to set iter->cur to NULL if the list is empty from iter_create, ie. if (iter->r->expr_list.next == &iter->r.expr_list) iter->cur = NULL; else iter->cur = list_entry(...); Then, from _next() you check for: if (expr == NULL) return NULL; > Signed-off-by: Alvaro Neira Ayuso <alvaroneay@xxxxxxxxx> > --- > src/chain.c | 3 +++ > src/rule.c | 6 ++++++ > src/set.c | 3 +++ > src/set_elem.c | 3 +++ > src/table.c | 3 +++ I can count up to six iterator interfaces, I only see 5 here, please make sure you adapt all spots. Thanks. -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html