From c21c6cb4170159250aa778ec888db7f919dfb0e9 Mon Sep 17 00:00:00 2001
From: Mike Pall
+Attempting to de-serialize an FFI type will throw an error, if the FFI +library is not built-in or has not been loaded, yet. +
diff --git a/src/lj_serialize.c b/src/lj_serialize.c index d6551b11..d00bf7fa 100644 --- a/src/lj_serialize.c +++ b/src/lj_serialize.c @@ -417,6 +417,7 @@ static char *serialize_get(char *r, SBufExt *sbx, TValue *o) uint32_t sz = tp == SER_TAG_COMPLEX ? 16 : 8; GCcdata *cd; if (LJ_UNLIKELY(r + sz > w)) goto eob; + if (LJ_UNLIKELY(!ctype_ctsG(G(sbufL(sbx))))) goto badtag; cd = lj_cdata_new_(sbufL(sbx), tp == SER_TAG_INT64 ? CTID_INT64 : tp == SER_TAG_UINT64 ? CTID_UINT64 : CTID_COMPLEX_DOUBLE,