From 8c556fcbdc3e054fc34dcb19405b6f2e0c52e4e8 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sat, 26 Aug 2017 15:38:41 +0200 Subject: [PATCH] Fix too restrictive Lua sandbox Don't limit the environment when evaluating bytecode (factory function). --- gtk2_ardour/luainstance.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gtk2_ardour/luainstance.cc b/gtk2_ardour/luainstance.cc index 248e867be9..8d7d972d04 100644 --- a/gtk2_ardour/luainstance.cc +++ b/gtk2_ardour/luainstance.cc @@ -1061,7 +1061,7 @@ LuaInstance::init () " assert(type(f) == 'function', 'Factory is a not a function')" " assert(type(a) == 'table' or type(a) == 'nil', 'Given argument is invalid')" " self.scripts[i] = { ['n'] = n, ['s'] = s, ['f'] = f, ['a'] = a, ['c'] = c }" - " local env = _ENV; env.f = nil env.io = nil" + " local env = _ENV; env.f = nil" " self.instances[i] = load (string.dump(f, true), nil, nil, env)(a)" " if type(c) == 'function' then" " self.icons[i] = load (string.dump(c, true), nil, nil, env)(a)" @@ -1792,7 +1792,7 @@ LuaCallback::init (void) " assert(type(f) == 'function', 'Factory is a not a function')" " assert(type(a) == 'table' or type(a) == 'nil', 'Given argument is invalid')" " self.script = { ['n'] = n, ['s'] = s, ['f'] = f, ['a'] = a }" - " local env = _ENV; env.f = nil env.io = nil" + " local env = _ENV; env.f = nil" " self.instance = load (string.dump(f, true), nil, nil, env)(a)" " end" "" -- 2.30.2