diff --git a/sys/net/radix.c b/sys/net/radix.c --- a/sys/net/radix.c +++ b/sys/net/radix.c @@ -1072,6 +1072,8 @@ * This is the same as rn_walktree() except for the parameters and the * exit. */ +static int rn_walktree_at(struct radix_node_head *, const void *, + const void *, walktree_f_t *, void *); static int rn_walktree_from(struct radix_node_head *h, const void *_addr, const void *_mask, walktree_f_t *f, void *w) @@ -1083,6 +1085,8 @@ addr = _addr; mask = _mask; + if (mask == NULL) + return rn_walktree_at(h, addr, NULL, f, w); last = NULL; stopping = false;