diff --git a/modules/pico_fragments.c b/modules/pico_fragments.c index d5373a38..16049ff8 100644 --- a/modules/pico_fragments.c +++ b/modules/pico_fragments.c @@ -441,7 +441,7 @@ void pico_ipv6_process_frag(struct pico_ipv6_exthdr *frag, struct pico_frame *f, { #if defined(PICO_SUPPORT_IPV6) && defined(PICO_SUPPORT_IPV6FRAG) struct pico_frame *first = NULL; - struct pico_stack *S = f->dev->stack; + struct pico_stack *S; if (!f || !frag) { @@ -449,6 +449,8 @@ void pico_ipv6_process_frag(struct pico_ipv6_exthdr *frag, struct pico_frame *f, return; } + S = f->dev->stack; + first = pico_tree_first(&S->ipv6_fragments); if (first)