fix addition of a trailer or a header
authorMathieu Lacage <mathieu.lacage@sophia.inria.fr>
Tue, 05 Jun 2007 14:06:58 +0200
changeset 836 f9f5f66013cc
parent 835 ea5ca71d6c0c
child 837 b73b63e84130
fix addition of a trailer or a header
src/common/packet-history.cc
--- a/src/common/packet-history.cc	Tue Jun 05 13:44:43 2007 +0200
+++ b/src/common/packet-history.cc	Tue Jun 05 14:06:58 2007 +0200
@@ -396,8 +396,8 @@
 PacketHistory::ReserveCopy (uint32_t size)
 {
   struct PacketHistory::Data *newData = PacketHistory::Create (m_used + size);
-  memcpy (newData->m_data, m_data->m_data, m_end);
-  newData->m_dirtyEnd = m_end;
+  memcpy (newData->m_data, m_data->m_data, m_used);
+  newData->m_dirtyEnd = m_used;
   m_data->m_count--;
   if (m_data->m_count == 0) 
     {
@@ -565,6 +565,7 @@
   if (m_data == 0)
     {
       m_data = PacketHistory::Create (10);
+      memset (m_data->m_data, 0, 4);
     }
   NS_ASSERT (m_data != 0);
   uint16_t chunkUid = m_chunkUid;
@@ -616,7 +617,7 @@
   n += GetUleb128Size (chunkUid);
   n += GetUleb128Size (size);
   n += 2 + 2;
-  Reserve (n);
+  ReserveCopy (n);
   goto append;
 }