From 6ddb7388cc43de8cc29c373b4f3fe3399f9c6a94 Mon Sep 17 00:00:00 2001 From: Isaac0-dev <62234577+Isaac0-dev@users.noreply.github.com> Date: Fri, 21 Feb 2025 09:47:52 +1000 Subject: [PATCH] don't allow escape characters in names --- src/pc/configfile.c | 5 +++++ src/pc/djui/djui_panel_player.c | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/pc/configfile.c b/src/pc/configfile.c index 8f781bff1..35f3d763f 100644 --- a/src/pc/configfile.c +++ b/src/pc/configfile.c @@ -749,6 +749,11 @@ NEXT_OPTION: if (gCLIOpts.playerName[0]) { snprintf(configPlayerName, MAX_CONFIG_STRING, "%s", gCLIOpts.playerName); } + bool djui_panel_player_name_valid(char* buffer); + if (!djui_panel_player_name_valid(configPlayerName)) { + snprintf(configPlayerName, MAX_CONFIG_STRING, "Player"); + } + for (int i = 0; i < gCLIOpts.enabledModsCount; i++) { enable_mod(gCLIOpts.enableMods[i]); } diff --git a/src/pc/djui/djui_panel_player.c b/src/pc/djui/djui_panel_player.c index 6f9284703..098ae1ac2 100644 --- a/src/pc/djui/djui_panel_player.c +++ b/src/pc/djui/djui_panel_player.c @@ -327,11 +327,12 @@ static void djui_panel_player_edit_palette_create(struct DjuiBase* caller) { // player panel // ////////////////// -static bool djui_panel_player_name_valid(char* buffer) { +bool djui_panel_player_name_valid(char* buffer) { if (buffer[0] == '\0') { return false; } char* c = buffer; while (*c != '\0') { if (*c == ' ') { return false; } + if (*c == '\\') { return false; } if (!djui_unicode_valid_char(c)) { return false; } c = djui_unicode_next_char(c); }