FFI: Ensure returned string is alive in ffi.typeinfo().

Reported by zhuizhuhaomeng.
This commit is contained in:
Mike Pall 2021-09-23 19:07:30 +02:00
parent 78350a2565
commit 94a40bb238

View File

@ -573,6 +573,7 @@ LJLIB_CF(ffi_typeinfo)
setintV(lj_tab_setstr(L, t, lj_str_newlit(L, "sib")), (int32_t)ct->sib);
if (gcref(ct->name)) {
GCstr *s = gco2str(gcref(ct->name));
if (isdead(G(L), obj2gco(s))) flipwhite(obj2gco(s));
setstrV(L, lj_tab_setstr(L, t, lj_str_newlit(L, "name")), s);
}
lj_gc_check(L);