From f94276736fe32cb3d78aaeefa4e55e87a128a84f Mon Sep 17 00:00:00 2001 From: Alex Orlenko Date: Thu, 12 Oct 2023 23:57:47 +0100 Subject: [PATCH] Remove `lua_setallocf` as it's unsafe --- VM/include/lua.h | 1 - VM/src/lapi.cpp | 6 ------ tests/Conformance.test.cpp | 10 ---------- 3 files changed, 17 deletions(-) diff --git a/VM/include/lua.h b/VM/include/lua.h index 002dd492..1e8c30ba 100644 --- a/VM/include/lua.h +++ b/VM/include/lua.h @@ -324,7 +324,6 @@ LUA_API void lua_clonefunction(lua_State* L, int idx); LUA_API void lua_cleartable(lua_State* L, int idx); LUA_API lua_Alloc lua_getallocf(lua_State* L, void** ud); -LUA_API void lua_setallocf(lua_State* L, lua_Alloc f, void* ud); /* ** reference system, can be used to pin objects diff --git a/VM/src/lapi.cpp b/VM/src/lapi.cpp index 5efba158..2d714566 100644 --- a/VM/src/lapi.cpp +++ b/VM/src/lapi.cpp @@ -1440,9 +1440,3 @@ lua_Alloc lua_getallocf(lua_State* L, void** ud) *ud = L->global->ud; return f; } - -void lua_setallocf(lua_State* L, lua_Alloc f, void* ud) -{ - L->global->frealloc = f; - L->global->ud = ud; -} diff --git a/tests/Conformance.test.cpp b/tests/Conformance.test.cpp index 0fe8cda1..46dc97cb 100644 --- a/tests/Conformance.test.cpp +++ b/tests/Conformance.test.cpp @@ -1173,16 +1173,6 @@ TEST_CASE("AllocApi") bool allocfIsSet = lua_getallocf(L, &ud_check) == limitedRealloc; CHECK(allocfIsSet); CHECK(ud_check == &ud); - - auto limitedReallocAlt = [](void* ud, void* ptr, size_t osize, size_t nsize) -> void* { - return limitedRealloc(ud, ptr, osize, nsize); - }; - - int ud2 = 0; - lua_setallocf(L, limitedReallocAlt, &ud2); - allocfIsSet = lua_getallocf(L, &ud_check) == limitedReallocAlt; - CHECK(allocfIsSet); - CHECK(ud_check == &ud2); } #if !LUA_USE_LONGJMP