In 'lua_checkmemory', userdata can be gray, too

Since commit ca6fe7449a, userdata with uservalues can be gray
and can belong to gray lists ('gclist').
This commit is contained in:
Roberto Ierusalimschy 2020-06-15 12:01:36 -03:00
parent d49b288728
commit 993c58fde3
1 changed files with 4 additions and 0 deletions

View File

@ -519,6 +519,10 @@ static void checkgraylist (global_State *g, GCObject *o) {
case LUA_VCCL: o = gco2ccl(o)->gclist; break;
case LUA_VTHREAD: o = gco2th(o)->gclist; break;
case LUA_VPROTO: o = gco2p(o)->gclist; break;
case LUA_VUSERDATA:
lua_assert(gco2u(o)->nuvalue > 0);
o = gco2u(o)->gclist;
break;
default: lua_assert(0); /* other objects cannot be in a gray list */
}
}