From 5fbd15a846747d55a4396f97d922dcb6332a0bb0 Mon Sep 17 00:00:00 2001 From: skull132 Date: Sun, 11 Dec 2016 01:39:00 +0200 Subject: [PATCH] Job sanitization Because I forgot, K? Will runtime because I haven't added the second var yet but sure. Yay. --- .../preference_setup/occupation/occupation.dm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/code/modules/client/preference_setup/occupation/occupation.dm b/code/modules/client/preference_setup/occupation/occupation.dm index 0e5fd7b24f6..08d771c98d1 100644 --- a/code/modules/client/preference_setup/occupation/occupation.dm +++ b/code/modules/client/preference_setup/occupation/occupation.dm @@ -36,7 +36,19 @@ /datum/category_item/player_setup_item/occupation/gather_load_query() return list("ss13_characters" = list("vars" = list("jobs" = "unsanitized_jobs", "alternate_option", "alternate_titles" = "player_alt_titles"), "args" = list("id"))) -/datum/category_item/player_setup_item/occupation/sanitize_character() +/datum/category_item/player_setup_item/occupation/sanitize_character(var/sql_load = 0) + if (sql_load) + pref.alternate_option = text2num(alternate_option) + + var/list/jobs = params2list(pref.unsanitized_jobs) + + for (var/preference in jobs) + try + pref.vars[preference] = text2num(jobs[preference]) + catch(var/exception/e) + log_debug("LOADING: Bad job preference key: [preference].") + log_debug(e.desc) + pref.alternate_option = sanitize_integer(text2num(pref.alternate_option), 0, 2, initial(pref.alternate_option)) pref.job_civilian_high = sanitize_integer(text2num(pref.job_civilian_high), 0, 65535, initial(pref.job_civilian_high)) pref.job_civilian_med = sanitize_integer(text2num(pref.job_civilian_med), 0, 65535, initial(pref.job_civilian_med))