From 0b79828ec915aae3079dafbe2a64000c356ace88 Mon Sep 17 00:00:00 2001 From: Aronai Sieyes Date: Sat, 25 Apr 2020 13:03:47 -0400 Subject: [PATCH] Forbid and sanitize out hyphen as language prefix --- code/modules/client/preference_setup/general/02_language.dm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/code/modules/client/preference_setup/general/02_language.dm b/code/modules/client/preference_setup/general/02_language.dm index 0481affd17..673e273af0 100644 --- a/code/modules/client/preference_setup/general/02_language.dm +++ b/code/modules/client/preference_setup/general/02_language.dm @@ -1,6 +1,7 @@ /datum/category_item/player_setup_item/general/language name = "Language" sort_order = 2 + var/static/list/forbidden_prefixes = list(";", ":", ".", "!", "*", "^", "-") /datum/category_item/player_setup_item/general/language/load_character(var/savefile/S) S["language"] >> pref.alternate_languages @@ -18,6 +19,9 @@ pref.alternate_languages.len = S.num_alternate_languages // Truncate to allowed length if(isnull(pref.language_prefixes) || !pref.language_prefixes.len) pref.language_prefixes = config.language_prefixes.Copy() + for(var/prefix in pref.language_prefixes) + if(prefix in forbidden_prefixes) + pref.language_prefixes -= prefix /datum/category_item/player_setup_item/general/language/content() . += "Languages
" @@ -79,7 +83,7 @@ alert(user, "Only single characters allowed.", "Error", "Ok") else if(char in list(";", ":", ".")) alert(user, "Radio character. Rejected.", "Error", "Ok") - else if(char in list("!","*", "^")) + else if(char in list("!","*","^","-")) alert(user, "Say character. Rejected.", "Error", "Ok") else if(contains_az09(char)) alert(user, "Non-special character. Rejected.", "Error", "Ok")