[Ns-bugs] [Bug 171] code bug in function (olsr)AgentImpl::MprComputation() about using std::vector::erase().
bugzilla-daemon@nsnam-www.ece.gatech.edu
bugzilla-daemon at nsnam-www.ece.gatech.edu
Tue Apr 15 17:57:10 PDT 2008
http://www.nsnam.org/bugzilla/show_bug.cgi?id=171
liujatp at gmail.com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |liujatp at gmail.com
------- Comment #4 from liujatp at gmail.com 2008-04-15 20:57 -------
(In reply to comment #3)
> First of all, please submit the patch as unified diff (diff -upd); I can't read
> this patch. Moreover, from the little I can read from the patch it looks like
> the patch is reversed?...
sorry about that.
> Then I must confess I did not write most of the code, simply ported it from
> UM-OLSR (NS-2) to NS-3, so it is possible a bug or two prevailed...
> Incidentally, I did find some code rather strange, even added one or two FIXME
> comments. For example:
> void
> OlsrState::EraseTwoHopNeighborTuples (const Ipv4Address &neighborMainAddr,
> const Ipv4Address &twoHopNeighborAddr)
> {
> for (TwoHopNeighborSet::iterator it = m_twoHopNeighborSet.begin ();
> it != m_twoHopNeighborSet.end (); it++)
> {
> if (it->neighborMainAddr == neighborMainAddr
> && it->twoHopNeighborAddr == twoHopNeighborAddr)
> {
> it = m_twoHopNeighborSet.erase (it);
> it--; // FIXME: is this correct in the case 'it' pointed to the first
> element?
here when the vector.size()== 1, 'it' still point to the first emlemnt, then
"it--" will give exception.
when i tracked ns-3-dev sample code, i does run abnormally.
> m_modified = true;
> }
> }
> }
> But, since the code appeared to work, even when simulating with hundreds or
> thousands of nodes, when in doubt I chose to let it be. If you say it is
> giving segfaults then I'm all for fixing the code, as soon as you provided a
> proper patch. Thanks in advance.
--
Configure bugmail: http://www.nsnam.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the Ns-bugs
mailing list