From ba4b099d9307555db33580206450f438da314a3c Mon Sep 17 00:00:00 2001 From: Yonezawa-T2 <Yonezawa-T2@mail.dnp.co.jp> Date: Fri, 3 Jun 2016 11:35:22 +0900 Subject: [PATCH] gnrc_sixlowpan_iphc: propagate UDP decode error --- .../network_layer/sixlowpan/iphc/gnrc_sixlowpan_iphc.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sys/net/gnrc/network_layer/sixlowpan/iphc/gnrc_sixlowpan_iphc.c b/sys/net/gnrc/network_layer/sixlowpan/iphc/gnrc_sixlowpan_iphc.c index 0095d1b661..3ff187eb74 100644 --- a/sys/net/gnrc/network_layer/sixlowpan/iphc/gnrc_sixlowpan_iphc.c +++ b/sys/net/gnrc/network_layer/sixlowpan/iphc/gnrc_sixlowpan_iphc.c @@ -499,7 +499,12 @@ size_t gnrc_sixlowpan_iphc_decode(gnrc_pktsnip_t **dec_hdr, gnrc_pktsnip_t *pkt, switch (iphc_hdr[payload_offset] & NHC_ID_MASK) { case NHC_UDP_ID: payload_offset = iphc_nhc_udp_decode(pkt, dec_hdr, datagram_size, - payload_offset + offset) - offset; + payload_offset + offset); + + if (payload_offset != 0) { + payload_offset -= offset; + } + *nh_len += sizeof(udp_hdr_t); break; -- GitLab