Reported by jakitliang. #1354
@@ -854,7 +854,10 @@ int lj_record_mm_lookup(jit_State *J, RecordIndex *ix, MMS mm)
return 0; /* No metamethod. */
}
/* The cdata metatable is treated as immutable. */
- if (LJ_HASFFI && tref_iscdata(ix->tab)) goto immutable_mt;
+ if (LJ_HASFFI && tref_iscdata(ix->tab)) {
+ mix.tab = TREF_NIL;
+ goto immutable_mt;
+ }
ix->mt = mix.tab = lj_ir_ktab(J, mt);
goto nocheck;