mirror of
https://github.com/ShaYmez/P25Clients.git
synced 2025-02-03 09:44:12 -05:00
Delete correct rpt
iterator is changed by erase vector function thus we were deleting incorrect rpt from vector and leaving memory unstable...
This commit is contained in:
parent
55cefd6e64
commit
4374454783
@ -233,8 +233,8 @@ void CP25Reflector::run()
|
|||||||
|
|
||||||
for (std::vector<CP25Repeater*>::iterator it = m_repeaters.begin(); it != m_repeaters.end(); ++it) {
|
for (std::vector<CP25Repeater*>::iterator it = m_repeaters.begin(); it != m_repeaters.end(); ++it) {
|
||||||
if (CUDPSocket::match((*it)->m_addr, rpt->m_addr)) {
|
if (CUDPSocket::match((*it)->m_addr, rpt->m_addr)) {
|
||||||
m_repeaters.erase(it);
|
|
||||||
delete *it;
|
delete *it;
|
||||||
|
m_repeaters.erase(it);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -304,8 +304,8 @@ void CP25Reflector::run()
|
|||||||
LogMessage("Removing %s (%s) disappeared", (*it)->m_callsign.c_str(),
|
LogMessage("Removing %s (%s) disappeared", (*it)->m_callsign.c_str(),
|
||||||
CUDPSocket::display((*it)->m_addr, buff, 80U));
|
CUDPSocket::display((*it)->m_addr, buff, 80U));
|
||||||
|
|
||||||
m_repeaters.erase(it);
|
|
||||||
delete *it;
|
delete *it;
|
||||||
|
m_repeaters.erase(it);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user