Browse Source

Initialize unused value when specializing to cdata metatable.

Reported by jakitliang. #1354
Mike Pall 5 months ago
parent
commit
e9e4b6d302
1 changed files with 4 additions and 1 deletions
  1. 4 1
      src/lj_record.c

+ 4 - 1
src/lj_record.c

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