From 2d0499a348da50fa6afefa18986683f6602ac9d9 Mon Sep 17 00:00:00 2001
From: DarkGod <darkgod@net-core.org>
Date: Fri, 23 Sep 2016 12:13:24 +0200
Subject: [PATCH] OS functions to access disk or processes are now unaccessible

---
 game/engines/default/engine/utils.lua | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/game/engines/default/engine/utils.lua b/game/engines/default/engine/utils.lua
index 1ff80c6541..d113239626 100644
--- a/game/engines/default/engine/utils.lua
+++ b/game/engines/default/engine/utils.lua
@@ -2315,6 +2315,7 @@ function util.uuid()
 end
 
 function util.browserOpenUrl(url, forbid_methods)
+	local osexecute = os.execute
 	forbid_methods = forbid_methods or {}
 	if forbid_methods.is_external and config.settings.open_links_external then
 		forbid_methods.webview = true
@@ -2340,7 +2341,7 @@ function util.browserOpenUrl(url, forbid_methods)
 		local urlbase = table.remove(tries, 1)
 		urlbase = urlbase:format(url)
 		print("Trying to run URL with command: ", urlbase)
-		if os.execute(urlbase) == 0 then return "native", true end
+		if osexecute(urlbase) == 0 then return "native", true end
 	end
 	return false
 end
@@ -2389,3 +2390,12 @@ end
 function util.steamCanCloud()
 	if core.steam and core.steam.isCloudEnabled(true) and core.steam.isCloudEnabled(false) and not savefile_pipe.disable_cloud_saves then return true end
 end
+
+--------------------------------------------------------------
+-- Remove invalidate some dangerous functions
+--------------------------------------------------------------
+os.execute = nil
+os.getenv = nil
+os.remove = nil
+os.rename = nil
+
-- 
GitLab