Skip to content

Reliability fixes for nickname valid-checks on client and server#4909

Merged
Dutchman101 merged 2 commits intomultitheftauto:masterfrom
Dutchman101:playername-handling
May 9, 2026
Merged

Reliability fixes for nickname valid-checks on client and server#4909
Dutchman101 merged 2 commits intomultitheftauto:masterfrom
Dutchman101:playername-handling

Conversation

@Dutchman101
Copy link
Copy Markdown
Member

Reliability fixes for nickname valid-checks on client and server

Fix 1: Backtick validation gap (client)
Added strchr(szNick, '') != nullptrcheck to the client's CheckNickProvided, matching the server's version in Shared/Utils.cpp. Previously, a nickname containing a backtick passed all client-side checks, was serialized correctly, and then got rejected server-side with INVALID_NICKNAME.

Fix 2: Unchecked ReadString (server)
Added return-value check on BitStream.ReadString(m_strPlayerVersion). If this read fails (corrupted length prefix from a shifted bitstream), it now returns false immediately instead of continung to parse the nickname and subsequent fields from a wrong offset. This prevents garbage data from being interpreted as the nickname and triggering an incorrect INVALID_NICKNAME.

sbx320
sbx320 previously approved these changes May 9, 2026
@Dutchman101 Dutchman101 merged commit 6c54a2d into multitheftauto:master May 9, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants