From: Mike Pall Date: Sun, 3 Apr 2022 08:35:42 +0000 (+0200) Subject: Fix assertion for LJ_KEYINDEX. X-Git-Tag: v2.1.ROLLING~80 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=20aea93915a0d31138cb00e17cc15eb849e3b806;p=thirdparty%2FLuaJIT.git Fix assertion for LJ_KEYINDEX. Thanks to XmiliaH. --- diff --git a/src/lj_obj.h b/src/lj_obj.h index 0a63fddf..fa7d02c2 100644 --- a/src/lj_obj.h +++ b/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)); }