diff --git a/src/logic/scripting/lua/libs/libutf8.cpp b/src/logic/scripting/lua/libs/libutf8.cpp index 8d0628f0..85895c5d 100644 --- a/src/logic/scripting/lua/libs/libutf8.cpp +++ b/src/logic/scripting/lua/libs/libutf8.cpp @@ -25,6 +25,7 @@ static int l_tobytes(lua::State* L) { static int l_tostring(lua::State* L) { if (lua::istable(L, 1)) { + lua::pushvalue(L, 1); size_t size = lua::objlen(L, 1); util::Buffer buffer(size); for (size_t i = 0; i < size; i++) { @@ -32,6 +33,7 @@ static int l_tostring(lua::State* L) { buffer[i] = lua::tointeger(L, -1); lua::pop(L); } + lua::pop(L); return lua::pushlstring(L, buffer.data(), size); } else if (auto bytes = lua::touserdata(L, 1)) { return lua::pushstring(