From 2e0f3799a809086054f6d5ac4120283b5bb6fa3b Mon Sep 17 00:00:00 2001 From: rubidium42 Date: Thu, 22 Apr 2021 08:09:36 +0200 Subject: Change: [Network] Prevent invalid client names being sent to the server when changing it using the console/settings --- src/network/network_client.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/network/network_client.cpp') diff --git a/src/network/network_client.cpp b/src/network/network_client.cpp index 35c52d3bc..a80931c33 100644 --- a/src/network/network_client.cpp +++ b/src/network/network_client.cpp @@ -1308,6 +1308,11 @@ void NetworkUpdateClientName() NetworkClientInfo *ci = NetworkClientInfo::GetByClientID(_network_own_client_id); if (ci == nullptr) return; + /* There is no validation on string settings, it is actually a post change callback. + * This method is called from that post change callback. So, when the client name is + * changed via the console there is no easy way to prevent an invalid name. Though, + * we can prevent it getting sent here. */ + if (!NetworkValidateClientName()) return; /* Don't change the name if it is the same as the old name */ if (strcmp(ci->client_name, _settings_client.network.client_name) != 0) { -- cgit v1.2.3-54-g00ecf