--- a/src/internet/model/icmpv6-header.cc Wed Aug 10 12:39:19 2011 -0400
+++ b/src/internet/model/icmpv6-header.cc Wed Aug 10 13:09:23 2011 -0400
@@ -1008,7 +1008,7 @@
uint32_t Icmpv6DestinationUnreachable::Deserialize (Buffer::Iterator start)
{
uint16_t length = start.GetSize () - 8;
- uint8_t data[length];
+ uint8_t* data = new uint8_t[length];
Buffer::Iterator i = start;
SetType (i.ReadU8 ());
@@ -1018,6 +1018,7 @@
i.Read (data, length);
m_packet = Create<Packet> (data, length);
+ delete[] data;
return GetSerializedSize ();
}
@@ -1106,7 +1107,7 @@
uint32_t Icmpv6TooBig::Deserialize (Buffer::Iterator start)
{
uint16_t length = start.GetSize () - 8;
- uint8_t data[length];
+ uint8_t* data = new uint8_t[length];
Buffer::Iterator i = start;
SetType (i.ReadU8 ());
@@ -1116,6 +1117,7 @@
i.Read (data, length);
m_packet = Create<Packet> (data, length);
+ delete[] data;
return GetSerializedSize ();
}
@@ -1193,7 +1195,7 @@
uint32_t Icmpv6TimeExceeded::Deserialize (Buffer::Iterator start)
{
uint16_t length = start.GetSize () - 8;
- uint8_t data[length];
+ uint8_t* data = new uint8_t[length];
Buffer::Iterator i = start;
SetType (i.ReadU8 ());
@@ -1203,6 +1205,7 @@
i.Read (data, length);
m_packet = Create<Packet> (data, length);
+ delete[] data;
return GetSerializedSize ();
}
@@ -1291,7 +1294,7 @@
uint32_t Icmpv6ParameterError::Deserialize (Buffer::Iterator start)
{
uint16_t length = start.GetSize () - 8;
- uint8_t data[length];
+ uint8_t* data = new uint8_t[length];
Buffer::Iterator i = start;
SetType (i.ReadU8 ());
@@ -1300,6 +1303,7 @@
SetPtr (i.ReadNtohU32 ());
i.Read (data, length);
m_packet = Create<Packet> (data, length);
+ delete[] data;
return GetSerializedSize ();
}
@@ -1777,9 +1781,10 @@
i.ReadU32 ();
uint32_t len2 = (GetLength () - 1) * 8;
- uint8_t buff[len2];
+ uint8_t* buff = new uint8_t[len2];
i.Read (buff, len2);
m_packet = Create<Packet> (buff, len2);
+ delete[] buff;
return GetSerializedSize ();
}