mirror of
https://github.com/BeamMP/BeamMP-Server.git
synced 2026-04-05 07:16:18 +00:00
ensure clients are valid when iterated over
This commit is contained in:
@@ -51,9 +51,13 @@ public:
|
||||
Clients = mClients;
|
||||
}
|
||||
for (auto& Client : Clients) {
|
||||
IterationDecision Decision = std::invoke(Fn, Client);
|
||||
if (Decision == IterationDecision::Break) {
|
||||
break;
|
||||
if (Client) [[likely]] {
|
||||
IterationDecision Decision = std::invoke(Fn, Client);
|
||||
if (Decision == IterationDecision::Break) {
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
beammp_assert_not_reachable();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -65,7 +69,11 @@ public:
|
||||
Clients = mClients;
|
||||
}
|
||||
for (auto& Client : Clients) {
|
||||
std::invoke(Fn, Client);
|
||||
if (Client) [[likely]] {
|
||||
std::invoke(Fn, Client);
|
||||
} else {
|
||||
beammp_assert_not_reachable();
|
||||
}
|
||||
}
|
||||
}
|
||||
size_t ClientCount() const;
|
||||
|
||||
Reference in New Issue
Block a user