From d4f425bb00611ee2150b5ef14008c737571c5787 Mon Sep 17 00:00:00 2001 From: Martine Lenders <mail@martine-lenders.eu> Date: Sat, 17 Nov 2018 12:46:00 +0100 Subject: [PATCH] gnrc_ipv6: allow for empty IPv6 header --- sys/net/gnrc/network_layer/ipv6/gnrc_ipv6.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/sys/net/gnrc/network_layer/ipv6/gnrc_ipv6.c b/sys/net/gnrc/network_layer/ipv6/gnrc_ipv6.c index 52a2f06155..d049c4c07e 100644 --- a/sys/net/gnrc/network_layer/ipv6/gnrc_ipv6.c +++ b/sys/net/gnrc/network_layer/ipv6/gnrc_ipv6.c @@ -392,12 +392,17 @@ static int _fill_ipv6_hdr(gnrc_netif_t *netif, gnrc_pktsnip_t *ipv6) /* check if e.g. extension header was not already marked */ if (hdr->nh == PROTNUM_RESERVED) { - hdr->nh = gnrc_nettype_to_protnum(ipv6->next->type); - - /* if still reserved: mark no next header */ - if (hdr->nh == PROTNUM_RESERVED) { + if (ipv6->next == NULL) { hdr->nh = PROTNUM_IPV6_NONXT; } + else { + hdr->nh = gnrc_nettype_to_protnum(ipv6->next->type); + + /* if still reserved: mark no next header */ + if (hdr->nh == PROTNUM_RESERVED) { + hdr->nh = PROTNUM_IPV6_NONXT; + } + } } DEBUG("ipv6: set next header to %u\n", hdr->nh); -- GitLab