mirror of
https://github.com/BeamMP/BeamMP-Server.git
synced 2026-10-25 21:40:09 +00:00
ensure clients are valid when iterated over
This commit is contained in:
1 file changed
+12
-4
+12
-4
@@ -51,9 +51,13 @@ public:
|
|||||||
Clients = mClients;
|
Clients = mClients;
|
||||||
}
|
}
|
||||||
for (auto& Client : Clients) {
|
for (auto& Client : Clients) {
|
||||||
IterationDecision Decision = std::invoke(Fn, Client);
|
if (Client) [[likely]] {
|
||||||
if (Decision == IterationDecision::Break) {
|
IterationDecision Decision = std::invoke(Fn, Client);
|
||||||
break;
|
if (Decision == IterationDecision::Break) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
beammp_assert_not_reachable();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -65,7 +69,11 @@ public:
|
|||||||
Clients = mClients;
|
Clients = mClients;
|
||||||
}
|
}
|
||||||
for (auto& Client : Clients) {
|
for (auto& Client : Clients) {
|
||||||
std::invoke(Fn, Client);
|
if (Client) [[likely]] {
|
||||||
|
std::invoke(Fn, Client);
|
||||||
|
} else {
|
||||||
|
beammp_assert_not_reachable();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
size_t ClientCount() const;
|
size_t ClientCount() const;
|
||||||
|
|||||||
Reference in new issue
Block a user