Fix G->jit_base relocation on stack resize.

Reported by f32y. #1435
This commit is contained in:
Mike Pall
2026-02-11 23:16:59 +01:00
parent 54cce2e171
commit 233ad24035

View File

@@ -72,7 +72,7 @@ static void resizestack(lua_State *L, MSize n)
while (oldsize < realsize) /* Clear new slots. */
setnilV(st + oldsize++);
L->stacksize = realsize;
if ((size_t)(mref(G(L)->jit_base, char) - (char *)oldst) < oldsize)
if ((size_t)(mref(G(L)->jit_base, char) - (char *)oldst) < (size_t)oldsize * sizeof(TValue))
setmref(G(L)->jit_base, mref(G(L)->jit_base, char) + delta);
L->base = (TValue *)((char *)L->base + delta);
L->top = (TValue *)((char *)L->top + delta);