Changing your name, while in a server, to "Leader of the Chaotix" and setting your skin to Knuckles using the ingame menu causes the game to crash (sigsegv). Using this name also causes the game to overwrite your config file seemingly at random or cause crashes. What the fuck.
Other long names and skin combinations can cause a crash as well.
Edited
Designs
Child items
...
Show closed items
Linked items
0
Link issues together to show that they're related.
Learn more.
This seems to be something to do with config saving as far as I can tell. Notice that when you do get the crash, it stops before it can write in the name consvar value. But even if it doesn't crash, name somehow ceases to exist in the console and is no longer written in the config. Along with other consvars before the setcontrol lines, that is.
Also, these bizarre config bugs don't just happen for Knuckles, but seemingly for any skin except Sonic and Tails.
In src/netcode/d_netcmd.c > [SendNameAndColor], char buf[MAXPLAYERNAME+6]; wasn't changed to char buf[MAXPLAYERNAME+7]; when colour variables were updated from 8 to 16 bits. When I noticed this, I tested it (with a 64-bit Windows CMake build) - and everything worked perfectly on my machine with a max-length name, so I wasn't in a rush to fix it. Edit: At least in terms of net synchronisation. I don't know whether my config file was broken by it?
(Relatedly, in src/p_saveg.c > [P_NetArchivePlayers] and [P_NetUnArchivePlayers], players[i].skincolor is only written/read with 8 bits instead of 16, wrapping the chosen skincolor to 0-255. This only matters if someone selects a skincolor beyond the 98th freeslot before you join (or resynch), and isn't immediately obvious as the player's mobj colour is written/read correctly, but goal posts, player mobjs when they revert to the default colour (de-Super-ing or loading a new map), et cetera will then switch to a wrong mobj colour when checking that player's skincolor later on.)
not sure if this helps, but it at least cannot be triggered by other players:
<@Graphite> okay on windows 10 let's see<Gouldron.tar.gz> ok, let's try again*Gouldron.tar.gz renamed to Leader of the Chaotixneedlen0se has completed the level.<Leader of the Chaotix> graph?<Leader of the Chaotix> oh no<@Graphite> uh<Leader of the Chaotix> wait<Leader of the Chaotix> oh, it didn't work<Leader of the Chaotix> thank fuck
so, it can't be abused on servers to make the game crash for other players (if it was, it would've been way more serious).