Bug: luaL_traceback may need more than 5 stack slots

This commit is contained in:
Roberto Ierusalimschy
2024-06-12 16:02:01 -03:00
parent d51022bf9e
commit b529aefc53
3 changed files with 20 additions and 1 deletions

View File

@@ -80,6 +80,7 @@ static int pushglobalfuncname (lua_State *L, lua_Debug *ar) {
int top = lua_gettop(L);
lua_getinfo(L, "f", ar); /* push function */
lua_getfield(L, LUA_REGISTRYINDEX, LUA_LOADED_TABLE);
luaL_checkstack(L, 6, "not enough stack"); /* slots for 'findfield' */
if (findfield(L, top + 1, 2)) {
const char *name = lua_tostring(L, -1);
if (strncmp(name, LUA_GNAME ".", 3) == 0) { /* name start with '_G.'? */