diff --git a/code/modules/tgui/external.dm b/code/modules/tgui/external.dm index 6af2f94d2cb..b49baf14996 100644 --- a/code/modules/tgui/external.dm +++ b/code/modules/tgui/external.dm @@ -218,10 +218,18 @@ context = window_id) SStgui.force_close_window(usr, window_id) return TRUE + // Decode payload var/payload if(href_list["payload"]) - payload = json_decode(href_list["payload"]) + var/payload_text = href_list["payload"] + + if (!rustg_json_is_valid(payload_text)) + log_tgui(usr, "Error: Invalid JSON") + return TRUE + + payload = json_decode(payload_text) + // Pass message to window if(window) window.on_message(type, payload, href_list)