Bug 2177 - Ipv6ExtensionFragmentHeader length is initialized to a wrong value.

This commit is contained in:
Sébastien Deronne
2015-09-06 18:27:37 +02:00
parent 0caed8c48f
commit 0ce1305128
2 changed files with 4 additions and 3 deletions

View File

@@ -63,6 +63,7 @@ Bugs fixed
- Bug 2171 - power-adaptation-distance.cc:202:22: error: call to 'pow' is ambiguous
- Bug 2173 - WifiInformationElement::DeserializeIfPresent attempts to read beyond the end of buffer
- Bug 2174 - m_rWnd not updated when segments without ACK are received
- Bug 2177 - Ipv6ExtensionFragmentHeader length is initialized to a wrong value.
Known issues
------------

View File

@@ -68,6 +68,7 @@ uint8_t Ipv6ExtensionHeader::GetNextHeader () const
void Ipv6ExtensionHeader::SetLength (uint16_t length)
{
NS_ASSERT_MSG (!(length & 0x7), "Invalid Ipv6ExtensionHeader Length");
m_length = (length >> 3) - 1;
}
@@ -333,7 +334,7 @@ Ipv6ExtensionFragmentHeader::Ipv6ExtensionFragmentHeader ()
: m_offset (0),
m_identification (0)
{
SetLength (0);
SetLength (16);
}
Ipv6ExtensionFragmentHeader::~Ipv6ExtensionFragmentHeader ()
@@ -398,8 +399,7 @@ uint32_t Ipv6ExtensionFragmentHeader::Deserialize (Buffer::Iterator start)
Buffer::Iterator i = start;
SetNextHeader (i.ReadU8 ());
i.ReadU8();
SetLength (0);
SetLength ((i.ReadU8 () + 1) << 3);
m_offset = i.ReadNtohU16 ();
m_identification = i.ReadNtohU32 ();