fix valgrind complaints (bug 711)

This commit is contained in:
Craig Dowell
2009-10-12 23:31:58 -07:00
parent 5516d48909
commit 878ce49230
4 changed files with 29 additions and 3 deletions

View File

@@ -357,7 +357,12 @@ HwmpProtocolMac::ForwardPerr (std::vector<HwmpProtocol::FailedDestination> faile
//Send Management frame
for (std::vector<Mac48Address>::const_iterator i = receivers.begin (); i != receivers.end (); i++)
{
hdr.SetAddr1 (*i);
//
// 64-bit Intel valgrind complains about hdr.SetAddr1 (*i). It likes this
// just fine.
//
Mac48Address address = *i;
hdr.SetAddr1 (address);
m_stats.txPerr++;
m_stats.txMgt++;
m_stats.txMgtBytes += packet->GetSize ();

View File

@@ -274,7 +274,12 @@ HwmpProtocol::RequestRoute (
for (std::vector<Mac48Address>::const_iterator i = receivers.begin (); i != receivers.end (); i ++)
{
Ptr<Packet> packetCopy = packet->Copy();
tag.SetAddress (*i);
//
// 64-bit Intel valgrind complains about tag.SetAddress (*i). It
// likes this just fine.
//
Mac48Address address = *i;
tag.SetAddress (address);
packetCopy->AddPacketTag (tag);
routeReply (true, packetCopy, source, destination, protocolType, plugin->first);
}

View File

@@ -428,7 +428,7 @@ InterferenceHelper::AppendEvent (Ptr<InterferenceHelper::Event> event)
{
i++;
}
m_events.erase (m_events.begin (), i);
EraseEvents (m_events.begin (), i);
}
m_events.push_back (event);
}
@@ -606,7 +606,21 @@ InterferenceHelper::CalculateSnrPer (Ptr<InterferenceHelper::Event> event)
void
InterferenceHelper::EraseEvents (void)
{
for (Events::iterator i = m_events.begin (); i != m_events.end (); ++i)
{
*i = 0;
}
m_events.erase (m_events.begin (), m_events.end ());
}
void
InterferenceHelper::EraseEvents (Events::iterator start, Events::iterator end)
{
for (Events::iterator i = start; i != end; ++i)
{
*i = 0;
}
m_events.erase (start, end);
}
} // namespace ns3

View File

@@ -110,6 +110,8 @@ private:
typedef std::vector <NiChange> NiChanges;
typedef std::list<Ptr<Event> > Events;
void EraseEvents (Events::iterator start, Events::iterator end);
InterferenceHelper (const InterferenceHelper &o);
InterferenceHelper &operator = (const InterferenceHelper &o);
void AppendEvent (Ptr<Event> event);