From 6983db6d82b5b415c5e141aa360b46efa3e3a209 Mon Sep 17 00:00:00 2001 From: Anthony Zhang Date: Sat, 23 Mar 2013 17:49:25 -0400 Subject: [PATCH] Add math library to luacontroller, and make sure to copy stuff so code can't get out of the sandbox. --- mesecons_luacontroller/init.lua | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/mesecons_luacontroller/init.lua b/mesecons_luacontroller/init.lua index 9a835ac..ff429b8 100644 --- a/mesecons_luacontroller/init.lua +++ b/mesecons_luacontroller/init.lua @@ -195,7 +195,8 @@ local create_environment = function(pos, mem, event) mem = mem, tostring = tostring, tonumber = tonumber, - string = string, + string = tablecopy(string), + math = tablecopy(math), event = event} end @@ -222,6 +223,14 @@ local do_overheat = function (pos, meta) end end +local tablecopy = function(t) + local tnew = {} + for key, value in pairs(t) do + tnew[key] = value + end + return tnew +end + local load_memory = function(meta) return minetest.deserialize(meta:get_string("lc_memory")) or {} end