Selaa lähdekoodia

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

Reported by zhuizhuhaomeng.
Mike Pall 4 vuotta sitten
vanhempi
commit
94a40bb238
1 muutettua tiedostoa jossa 1 lisäystä ja 0 poistoa
  1. 1 0
      src/lib_ffi.c

+ 1 - 0
src/lib_ffi.c

@@ -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);