From b71878f02e50badd007b543b179d724a62094ece Mon Sep 17 00:00:00 2001 From: Dirk Ziegelmeier Date: Fri, 21 Apr 2017 22:30:23 +0200 Subject: [PATCH] Fix bug #50739: 6lowpan - IPHC de-compression bug Apply fix provided by Aigner B. --- src/netif/lowpan6.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/netif/lowpan6.c b/src/netif/lowpan6.c index 4bc86a79..d0ee9c2e 100644 --- a/src/netif/lowpan6.c +++ b/src/netif/lowpan6.c @@ -843,7 +843,7 @@ lowpan6_decompress(struct pbuf * p, struct ieee_802154_addr * src, struct ieee_8 ip6hdr->dest.addr[3] = lwip_htonl((lowpan6_buffer[lowpan6_offset] << 24) | (lowpan6_buffer[lowpan6_offset + 1] << 16) | (lowpan6_buffer[lowpan6_offset + 2] << 8) | lowpan6_buffer[lowpan6_offset + 3]); lowpan6_offset += 4; } else if ((lowpan6_buffer[1] & 0x03) == 0x02) { - ip6hdr->dest.addr[0] = lwip_htonl(0xff000000UL | lowpan6_buffer[lowpan6_offset++]); + ip6hdr->dest.addr[0] = lwip_htonl(0xff000000UL | (lowpan6_buffer[lowpan6_offset++] << 16)); ip6hdr->dest.addr[1] = 0; ip6hdr->dest.addr[2] = 0; ip6hdr->dest.addr[3] = lwip_htonl((lowpan6_buffer[lowpan6_offset] << 16) | (lowpan6_buffer[lowpan6_offset + 1] << 8) | lowpan6_buffer[lowpan6_offset + 2]);