From 887f411c4e018eb2ac034e80c6477d2cd253f729 Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Mon, 13 Oct 2014 21:02:04 +0200 Subject: prosody: Make getfenv() replacement for require() sandboxing local to avoid polluting the globals table --- prosody | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'prosody') diff --git a/prosody b/prosody index aab803c5..e8f81d5d 100755 --- a/prosody +++ b/prosody @@ -151,13 +151,11 @@ function sandbox_require() -- for neat sandboxing of modules local _realG = _G; local _real_require = require; - if not getfenv then + local getfenv = getfenv or function (f) -- FIXME: This is a hack to replace getfenv() in Lua 5.2 - function getfenv(f) - local name, env = debug.getupvalue(debug.getinfo(f or 1).func, 1); - if name == "_ENV" then - return env; - end + local name, env = debug.getupvalue(debug.getinfo(f or 1).func, 1); + if name == "_ENV" then + return env; end end function require(...) -- cgit v1.2.3