]> git.ipfire.org Git - thirdparty/LuaJIT.git/commitdiff
Initialize unused value when specializing to cdata metatable.
authorMike Pall <mike>
Mon, 7 Apr 2025 07:22:07 +0000 (09:22 +0200)
committerMike Pall <mike>
Mon, 7 Apr 2025 07:22:07 +0000 (09:22 +0200)
Reported by jakitliang. #1354

src/lj_record.c

index 20a7ea36e1692ed08848b4ac399c64df568e93b1..d336f642e427288e1f1541d2e52b4f56c597e70e 100644 (file)
@@ -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;
   }