]> git.ipfire.org Git - thirdparty/LuaJIT.git/commitdiff
Fix assertion for LJ_KEYINDEX.
authorMike Pall <mike>
Sun, 3 Apr 2022 08:35:42 +0000 (10:35 +0200)
committerMike Pall <mike>
Sun, 3 Apr 2022 08:35:42 +0000 (10:35 +0200)
Thanks to XmiliaH.

src/lj_obj.h

index 0a63fddff0a750c0d866454b64d3ce220426e130..fa7d02c206891e0c064f1c891b7ca42f977f7c1c 100644 (file)
@@ -845,6 +845,7 @@ static LJ_AINLINE void *lightudV(global_State *g, cTValue *o)
   uint64_t seg = lightudseg(u);
   uint32_t *segmap = mref(g->gc.lightudseg, uint32_t);
   lj_assertG(tvislightud(o), "lightuserdata expected");
+  if (seg == (1 << LJ_LIGHTUD_BITS_SEG)-1) return NULL;
   lj_assertG(seg <= g->gc.lightudnum, "bad lightuserdata segment %d", seg);
   return (void *)(((uint64_t)segmap[seg] << 32) | lightudlo(u));
 }