Re: [libnftnl PATCH 1/2] src: not create iterator with empty list

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Netfitler Users]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux