diff --git a/node/Multicaster.cpp b/node/Multicaster.cpp index 29e89189b..8a15bac13 100644 --- a/node/Multicaster.cpp +++ b/node/Multicaster.cpp @@ -330,7 +330,9 @@ void Multicaster::_add(uint64_t now,uint64_t nwid,const MulticastGroup &mg,Multi for(std::vector::iterator tx(gs.txQueue.begin());tx!=gs.txQueue.end();) { if (tx->atLimit()) { - gs.txQueue.erase(tx++); + // erase element (replace by last) + *tx = gs.txQueue.back(); + gs.txQueue.pop_back(); } else { tx->sendIfNew(RR,member); if (tx->atLimit()) {