FFI: Treat cdata finalizer table as a GC root.

Thanks to Sergey Bronnikov. #1168
This commit is contained in:
Mike Pall 2024-03-10 17:16:41 +01:00
parent 88ed9fdbbb
commit dda1ac273a

View File

@ -93,6 +93,9 @@ static void gc_mark_start(global_State *g)
gc_markobj(g, tabref(mainthread(g)->env)); gc_markobj(g, tabref(mainthread(g)->env));
gc_marktv(g, &g->registrytv); gc_marktv(g, &g->registrytv);
gc_mark_gcroot(g); gc_mark_gcroot(g);
#if LJ_HASFFI
if (ctype_ctsG(g)) gc_markobj(g, ctype_ctsG(g)->finalizer);
#endif
g->gc.state = GCSpropagate; g->gc.state = GCSpropagate;
} }