浏览代码

Fix assertion for LJ_KEYINDEX.

Thanks to XmiliaH.
Mike Pall 3 年之前
父节点
当前提交
20aea93915
共有 1 个文件被更改,包括 1 次插入0 次删除
  1. 1 0
      src/lj_obj.h

+ 1 - 0
src/lj_obj.h

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