Bug 1913 - Crash in BlockAckManager::GetNextPacket when CleanupBuffers method actually deletes expired retry packets
Crash in BlockAckManager::GetNextPacket when CleanupBuffers method actually d...
Status: RESOLVED FIXED
Product: ns-3
Classification: Unclassified
Component: wifi
ns-3.14
Mac Intel Mac OS
: P5 normal
Assigned To: Daniel L.
: bug, patch
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2014-05-07 11:41 EDT by l.salameh
Modified: 2014-05-30 02:01 EDT (History)
3 users (show)

See Also:


Attachments
Patch for crashes in BlockAckManager (672 bytes, patch)
2014-05-07 11:41 EDT, l.salameh
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description l.salameh 2014-05-07 11:41:05 EDT
Created attachment 1838 [details]
Patch for crashes in BlockAckManager

When block acked data packets expire in the retry list of the BlockAckManager, the CleanupBuffers method actually deletes these packets
from the m_retryPackets list. On returning from that method, the caller
GetNextPacket attempts to access m_retryPackets.front(), which causes a crash if the retry packets list is now empty.


The fix is a one liner, very simple. See attached patch.
Comment 1 Tom Henderson 2014-05-30 02:01:15 EDT
fixed in changeset 10794:14430d46a1a6