From ef8ed5d127f2c698586efdfd254c8e5c7ba66f19 Mon Sep 17 00:00:00 2001 From: kwolekr Date: Sun, 4 Jan 2015 03:07:28 -0500 Subject: [PATCH] LuaVoxelManip: Error when given out-of-bounds area --- src/script/lua_api/l_vmanip.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/script/lua_api/l_vmanip.cpp b/src/script/lua_api/l_vmanip.cpp index bf702eaff..29f04f052 100644 --- a/src/script/lua_api/l_vmanip.cpp +++ b/src/script/lua_api/l_vmanip.cpp @@ -171,6 +171,8 @@ int LuaVoxelManip::l_calc_lighting(lua_State *L) v3s16 p1 = lua_istable(L, 2) ? read_v3s16(L, 2) : vm->m_area.MinEdge; v3s16 p2 = lua_istable(L, 3) ? read_v3s16(L, 3) : vm->m_area.MaxEdge; sortBoxVerticies(p1, p2); + if (!vm->m_area.contains(VoxelArea(p1, p2))) + throw LuaError("Specified voxel area out of VoxelManipulator bounds"); Mapgen mg; mg.vm = vm; @@ -206,6 +208,8 @@ int LuaVoxelManip::l_set_lighting(lua_State *L) v3s16 p1 = lua_istable(L, 3) ? read_v3s16(L, 3) : vm->m_area.MinEdge; v3s16 p2 = lua_istable(L, 4) ? read_v3s16(L, 4) : vm->m_area.MaxEdge; sortBoxVerticies(p1, p2); + if (!vm->m_area.contains(VoxelArea(p1, p2))) + throw LuaError("Specified voxel area out of VoxelManipulator bounds"); Mapgen mg; mg.vm = vm; -- 2.25.1