diff options
author | Tony Cheneau <tony.cheneau@amnesiak.org> | 2013-03-25 13:59:22 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-03-26 12:37:55 -0400 |
commit | f5c20f58d950002a4a5a77f60484a51e5af6498c (patch) | |
tree | 67e514cdaaea59d0309da839cc8c90f875b5ca64 /net | |
parent | 8d879a3f9856fe6c6e27853a96c0beaed03acb2c (diff) |
6lowpan: next header is not properly set upon decompression of a UDP header.
This causes a drop of the UDP packet.
Signed-off-by: Tony Cheneau <tony.cheneau@amnesiak.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/ieee802154/6lowpan.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/ieee802154/6lowpan.c b/net/ieee802154/6lowpan.c index 43b95ca61114..9f53904b5261 100644 --- a/net/ieee802154/6lowpan.c +++ b/net/ieee802154/6lowpan.c | |||
@@ -918,9 +918,11 @@ lowpan_process_data(struct sk_buff *skb) | |||
918 | } | 918 | } |
919 | 919 | ||
920 | /* UDP data uncompression */ | 920 | /* UDP data uncompression */ |
921 | if (iphc0 & LOWPAN_IPHC_NH_C) | 921 | if (iphc0 & LOWPAN_IPHC_NH_C) { |
922 | if (lowpan_uncompress_udp_header(skb)) | 922 | if (lowpan_uncompress_udp_header(skb)) |
923 | goto drop; | 923 | goto drop; |
924 | hdr.nexthdr = UIP_PROTO_UDP; | ||
925 | } | ||
924 | 926 | ||
925 | /* Not fragmented package */ | 927 | /* Not fragmented package */ |
926 | hdr.payload_len = htons(skb->len); | 928 | hdr.payload_len = htons(skb->len); |