From 5fdef8761e5318e5af52f80834da367db59c8928 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Deronne?= Date: Sun, 27 Jan 2019 22:45:07 +0100 Subject: [PATCH] wifi: Fix crashing simulations --- src/wifi/model/block-ack-manager.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/wifi/model/block-ack-manager.cc b/src/wifi/model/block-ack-manager.cc index c554b9b5f09..9a7a52bf410 100644 --- a/src/wifi/model/block-ack-manager.cc +++ b/src/wifi/model/block-ack-manager.cc @@ -887,7 +887,7 @@ BlockAckManager::CleanupBuffers (void) continue; } Time now = Simulator::Now (); - for (PacketQueueI i = j->second.second.begin (); i != j->second.second.end (); i++) + for (PacketQueueI i = j->second.second.begin (); i != j->second.second.end (); ) { if (i->timestamp + m_maxDelay > now) { @@ -899,9 +899,11 @@ BlockAckManager::CleanupBuffers (void) j->second.first.GetTid (), i->hdr.GetSequenceNumber ()); j->second.first.SetStartingSequence ((i->hdr.GetSequenceNumber () + 1) % 4096); - j->second.second.erase (i); + i = j->second.second.erase (i); removed = true; + continue; } + i++; } if (removed) {