From b08281627859777ddca77feb711cc535e6b5d394 Mon Sep 17 00:00:00 2001 From: JugadorXEI Date: Wed, 12 Mar 2025 14:16:14 +0100 Subject: [PATCH] Invalidate player.itemroulette.itemlist in LUA_InvalidatePlayer when applicable --- src/lua_itemroulettelib.c | 3 +++ src/lua_script.c | 1 + 2 files changed, 4 insertions(+) diff --git a/src/lua_itemroulettelib.c b/src/lua_itemroulettelib.c index 99da76fc3..51bd651f8 100644 --- a/src/lua_itemroulettelib.c +++ b/src/lua_itemroulettelib.c @@ -227,6 +227,9 @@ static int itemrouletteitemlist_get(lua_State *L) { itemlist_t *itemlist = *((itemlist_t **)luaL_checkudata(L, 1, META_ITEMROULETTE_ITEMLIST)); size_t index = luaL_checkint(L, 2); + + if (!itemlist) + return LUA_ErrInvalid(L, "itemroulette_t.itemlist_t"); if (index == 0 || index > itemlist->len) { return luaL_error(L, LUA_QL("itemroulette_t.itemlist_t") " index cannot be %d", index); diff --git a/src/lua_script.c b/src/lua_script.c index cda71ff13..f70c93a2a 100644 --- a/src/lua_script.c +++ b/src/lua_script.c @@ -892,6 +892,7 @@ void LUA_InvalidatePlayer(player_t *player) LUA_InvalidateUserdata(player); LUA_InvalidateUserdata(player->karthud); LUA_InvalidateUserdata(&player->cmd); + LUA_InvalidateUserdata(&player->itemRoulette.itemList); } enum