Bug 2219 - SixLowPanNetDevice hangs trying to decode a IPv6 Fragment extension header
--- a/RELEASE_NOTES Wed Nov 11 21:52:39 2015 -0800
+++ b/RELEASE_NOTES Sat Nov 14 23:23:35 2015 +0100
@@ -52,6 +52,7 @@
- Bug 2207 - Print node ID and time when printing routing tables
- Bug 2206 - Split internet-apps from applications
- Bug 2208 - Interface index based L4 protocols
+- Bug 2219 - SixLowPanNetDevice hangs trying to decode a IPv6 Fragment extension header
Known issues
------------
--- a/src/sixlowpan/model/sixlowpan-net-device.cc Wed Nov 11 21:52:39 2015 -0800
+++ b/src/sixlowpan/model/sixlowpan-net-device.cc Sat Nov 14 23:23:35 2015 +0100
@@ -1406,7 +1406,7 @@
uint32_t blobSize;
uint8_t blobData[260];
- blobSize = encoding.CopyBlob (blobData + 2, 260);
+ blobSize = encoding.CopyBlob (blobData + 2, 260-2);
uint8_t paddingSize = 0;
uint8_t actualEncodedHeaderType = encoding.GetEid ();
@@ -1525,6 +1525,10 @@
blobData [0] = encoding.GetNextHeader ();
}
blobData [1] = 0;
+
+ blob.AddAtStart (blobSize + 2);
+ blob.Begin ().Write (blobData, blobSize + 2);
+
fragHeader.Deserialize (blob.Begin ());
packet->AddHeader (fragHeader);
break;