Add math library to luacontroller, and make sure to copy stuff so code can't get out of the sandbox.

This commit is contained in:
Anthony Zhang 2013-03-23 17:49:25 -04:00
parent 1ff437b7b0
commit 6983db6d82

View File

@ -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