Explorar el Código

FFI: Fix dangling reference to CType.

Mike Pall hace 4 años
padre
commit
ae533e3a6c
Se han modificado 1 ficheros con 2 adiciones y 0 borrados
  1. 2 0
      src/lj_cconv.c

+ 2 - 0
src/lj_cconv.c

@@ -557,7 +557,9 @@ void lj_cconv_ct_tv(CTState *cts, CType *d,
     }
     s = ctype_raw(cts, sid);
     if (ctype_isfunc(s->info)) {
+      CTypeID did = ctype_typeid(cts, d);
       sid = lj_ctype_intern(cts, CTINFO(CT_PTR, CTALIGN_PTR|sid), CTSIZE_PTR);
+      d = ctype_get(cts, did);  /* cts->tab may have been reallocated. */
     } else {
       if (ctype_isenum(s->info)) s = ctype_child(cts, s);
       goto doconv;