summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVanessa Dannenberg <vanessa.e.dannenberg@gmail.com>2019-01-15 23:39:29 +0000
committerVanessa Dannenberg <vanessa.e.dannenberg@gmail.com>2019-01-15 23:39:29 +0000
commit27eb2ca9ded8a735f2f78088937d34e7abc4601b (patch)
tree590c6efc2a1b0e7252f0cbecac20c4a7e44816d6
parent26e7b464155b4884155c9ffb6b3ff6fa4899f2cf (diff)
parentdc8778d7d310fe8bcff778b8f768caa8a61a9f84 (diff)
downloadpipeworks-27eb2ca9ded8a735f2f78088937d34e7abc4601b.tar
pipeworks-27eb2ca9ded8a735f2f78088937d34e7abc4601b.tar.gz
pipeworks-27eb2ca9ded8a735f2f78088937d34e7abc4601b.tar.bz2
pipeworks-27eb2ca9ded8a735f2f78088937d34e7abc4601b.tar.xz
pipeworks-27eb2ca9ded8a735f2f78088937d34e7abc4601b.zip
Merge branch 'master' into 'master'
Fix crash when lua tubes are DoSed. See merge request VanessaE/pipeworks!8
-rw-r--r--lua_tube.lua5
1 files changed, 4 insertions, 1 deletions
diff --git a/lua_tube.lua b/lua_tube.lua
index 941ef92..689f74e 100644
--- a/lua_tube.lua
+++ b/lua_tube.lua
@@ -333,8 +333,11 @@ local safe_globals = {
}
local function create_environment(pos, mem, event)
- -- Gather variables for the environment
+ -- Make sure the tube hasn't broken.
local vports = minetest.registered_nodes[minetest.get_node(pos).name].virtual_portstates
+ if not vports then return {} end
+
+ -- Gather variables for the environment
local vports_copy = {}
for k, v in pairs(vports) do vports_copy[k] = v end
local rports = get_real_port_states(pos)