From 8cf1266b72711b1faec1928be668313a841fde99 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Thu, 16 Nov 2017 22:36:18 -0800 Subject: [PATCH] [s] Sanitizes text input/output in circuits (#32833) * Adds Sanitization to TTS * Sanitize input * stripped_input * strip debugger input * Stripped inputs in pin inputs. * stripped pin input * stripped string pin input * stripped char input pin. --- code/modules/integrated_electronics/core/debugger.dm | 4 ++-- .../modules/integrated_electronics/core/integrated_circuit.dm | 4 ++-- code/modules/integrated_electronics/core/pins.dm | 2 +- .../integrated_electronics/core/special_pins/char_pin.dm | 4 ++-- .../integrated_electronics/core/special_pins/string_pin.dm | 2 +- code/modules/integrated_electronics/subtypes/input.dm | 2 +- code/modules/integrated_electronics/subtypes/output.dm | 2 +- 7 files changed, 10 insertions(+), 10 deletions(-) diff --git a/code/modules/integrated_electronics/core/debugger.dm b/code/modules/integrated_electronics/core/debugger.dm index 77deaa94db..7dc89178d2 100644 --- a/code/modules/integrated_electronics/core/debugger.dm +++ b/code/modules/integrated_electronics/core/debugger.dm @@ -20,13 +20,13 @@ switch(type_to_use) if("string") accepting_refs = FALSE - new_data = input("Now type in a string.","[src] string writing") as null|text + new_data = stripped_input(user, "Now type in a string.","[src] string writing") if(istext(new_data) && user.IsAdvancedToolUser()) data_to_write = new_data to_chat(user, "You set \the [src]'s memory to \"[new_data]\".") if("number") accepting_refs = FALSE - new_data = input("Now type in a number.","[src] number writing") as null|num + new_data = input(user, "Now type in a number.","[src] number writing") as null|num if(isnum(new_data) && user.IsAdvancedToolUser()) data_to_write = new_data to_chat(user, "You set \the [src]'s memory to [new_data].") diff --git a/code/modules/integrated_electronics/core/integrated_circuit.dm b/code/modules/integrated_electronics/core/integrated_circuit.dm index b8fe3e3cbb..d92788b720 100644 --- a/code/modules/integrated_electronics/core/integrated_circuit.dm +++ b/code/modules/integrated_electronics/core/integrated_circuit.dm @@ -108,7 +108,7 @@ a creative player the means to solve many problems. Circuits are held inside an if(!check_interactivity(M)) return - var/input = reject_bad_name(input("What do you want to name this?", "Rename", src.name) as null|text,1) + var/input = reject_bad_name(stripped_input(M, "What do you want to name this?", "Rename", src.name),1) if(src && input && check_interactivity(M)) to_chat(M, "The circuit '[src.name]' is now labeled '[input]'.") displayed_name = input @@ -278,7 +278,7 @@ a creative player the means to solve many problems. Circuits are held inside an var/new_data = null switch(type_to_use) if("string") - new_data = input("Now type in a string.","[src] string writing") as null|text + new_data = stripped_input(usr, "Now type in a string.","[src] string writing") to_chat(usr, "You input [new_data] into the pin.") //to_chat(user, "You write '[new_data]' to the '[io]' pin of \the [io.holder].") if("number") diff --git a/code/modules/integrated_electronics/core/pins.dm b/code/modules/integrated_electronics/core/pins.dm index ba0dbdcf31..a1ed833f5e 100644 --- a/code/modules/integrated_electronics/core/pins.dm +++ b/code/modules/integrated_electronics/core/pins.dm @@ -162,7 +162,7 @@ list[]( var/new_data = null switch(type_to_use) if("string") - new_data = input("Now type in a string.","[src] string writing", istext(default) ? default : null) as null|text + new_data = stripped_input(user, "Now type in a string.","[src] string writing", istext(default) ? default : null) if(istext(new_data) && holder.check_interactivity(user) ) to_chat(user, "You input "+new_data+" into the pin.") return new_data diff --git a/code/modules/integrated_electronics/core/special_pins/char_pin.dm b/code/modules/integrated_electronics/core/special_pins/char_pin.dm index 5c6a42590b..1d859f86b5 100644 --- a/code/modules/integrated_electronics/core/special_pins/char_pin.dm +++ b/code/modules/integrated_electronics/core/special_pins/char_pin.dm @@ -3,7 +3,7 @@ name = "char pin" /datum/integrated_io/char/ask_for_pin_data(mob/user) - var/new_data = input("Please type in one character.","[src] char writing") as null|text + var/new_data = stripped_input(user, "Please type in one character.","[src] char writing") if(holder.check_interactivity(user) ) to_chat(user, "You input [new_data ? "new_data" : "NULL"] into the pin.") write_data_to_pin(new_data) @@ -24,4 +24,4 @@ push_data() /datum/integrated_io/char/display_pin_type() - return IC_FORMAT_CHAR \ No newline at end of file + return IC_FORMAT_CHAR diff --git a/code/modules/integrated_electronics/core/special_pins/string_pin.dm b/code/modules/integrated_electronics/core/special_pins/string_pin.dm index ee0398413e..a619e7450f 100644 --- a/code/modules/integrated_electronics/core/special_pins/string_pin.dm +++ b/code/modules/integrated_electronics/core/special_pins/string_pin.dm @@ -3,7 +3,7 @@ name = "string pin" /datum/integrated_io/string/ask_for_pin_data(mob/user) - var/new_data = input("Please type in a string.","[src] string writing") as null|text + var/new_data = stripped_input(user, "Please type in a string.","[src] string writing") if(holder.check_interactivity(user) ) to_chat(user, "You input [new_data ? "[new_data]" : "NULL"] into the pin.") write_data_to_pin(new_data) diff --git a/code/modules/integrated_electronics/subtypes/input.dm b/code/modules/integrated_electronics/subtypes/input.dm index eef002c4cf..d8c77453be 100644 --- a/code/modules/integrated_electronics/subtypes/input.dm +++ b/code/modules/integrated_electronics/subtypes/input.dm @@ -70,7 +70,7 @@ power_draw_per_use = 4 /obj/item/integrated_circuit/input/textpad/ask_for_input(mob/user) - var/new_input = input(user, "Enter some words, please.","Number pad") as null|text + var/new_input = stripped_input(user, "Enter some words, please.","Number pad") if(istext(new_input) && user.IsAdvancedToolUser()) set_pin_data(IC_OUTPUT, 1, new_input) push_data() diff --git a/code/modules/integrated_electronics/subtypes/output.dm b/code/modules/integrated_electronics/subtypes/output.dm index 5bd36ddc25..1d3b24ad09 100644 --- a/code/modules/integrated_electronics/subtypes/output.dm +++ b/code/modules/integrated_electronics/subtypes/output.dm @@ -142,7 +142,7 @@ text = get_pin_data(IC_INPUT, 1) if(!isnull(text)) var/obj/O = assembly ? loc : assembly - O.say(strip_html_simple(text)) + O.say(sanitize(text)) /obj/item/integrated_circuit/output/sound/Initialize() .= ..()