Browse Source

In 'lua_checkmemory', userdata can be gray, too

Since commit ca6fe7449a, userdata with uservalues can be gray
and can belong to gray lists ('gclist').
pull/24/head
Roberto Ierusalimschy 4 years ago
parent
commit
993c58fde3
  1. 4
      ltests.c

4
ltests.c

@ -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 */
}
}

Loading…
Cancel
Save