aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSmallJoker <mk939@ymail.com>2019-06-26 19:37:14 +0200
committerSmallJoker <mk939@ymail.com>2019-09-14 19:42:30 +0200
commitb0baa698a495cc990ce5d9c22763957f1138aed3 (patch)
tree3ebc2a62265d9035739fddacfc9e1b66d9ab3f5a /src
parent23677be951b4dc2b9cc174ceb92f0e0b8e8eb867 (diff)
downloadminetest-b0baa698a495cc990ce5d9c22763957f1138aed3.tar.gz
minetest-b0baa698a495cc990ce5d9c22763957f1138aed3.tar.bz2
minetest-b0baa698a495cc990ce5d9c22763957f1138aed3.zip
CSM: Fix itemstack:get_meta() 'metadata' indexing error
Diffstat (limited to 'src')
-rw-r--r--src/script/cpp_api/s_security.cpp1
-rw-r--r--src/script/scripting_client.cpp2
2 files changed, 3 insertions, 0 deletions
diff --git a/src/script/cpp_api/s_security.cpp b/src/script/cpp_api/s_security.cpp
index d972be980..b90b3aa2c 100644
--- a/src/script/cpp_api/s_security.cpp
+++ b/src/script/cpp_api/s_security.cpp
@@ -243,6 +243,7 @@ void ScriptApiSecurity::initializeSecurityClient()
"rawset",
"select",
"setfenv",
+ // getmetatable can be used to escape the sandbox
"setmetatable",
"tonumber",
"tostring",
diff --git a/src/script/scripting_client.cpp b/src/script/scripting_client.cpp
index 239c98e57..c3e0ca373 100644
--- a/src/script/scripting_client.cpp
+++ b/src/script/scripting_client.cpp
@@ -24,6 +24,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "lua_api/l_client.h"
#include "lua_api/l_env.h"
#include "lua_api/l_item.h"
+#include "lua_api/l_itemstackmeta.h"
#include "lua_api/l_minimap.h"
#include "lua_api/l_modchannels.h"
#include "lua_api/l_particles_local.h"
@@ -67,6 +68,7 @@ ClientScripting::ClientScripting(Client *client):
void ClientScripting::InitializeModApi(lua_State *L, int top)
{
LuaItemStack::Register(L);
+ ItemStackMetaRef::Register(L);
StorageRef::Register(L);
LuaMinimap::Register(L);
NodeMetaRef::RegisterClient(L);