diff --git a/src/lj_carith.c b/src/lj_carith.c index 418400cf..e3287de9 100644 --- a/src/lj_carith.c +++ b/src/lj_carith.c @@ -118,7 +118,7 @@ static int carith_ptr(lua_State *L, CTState *cts, CDArith *ca, MMS mm) /* All valid pointer differences on x64 are in (-2^47, +2^47), ** which fits into a double without loss of precision. */ - setintptrV(L->top-1, (int32_t)diff); + setintptrV(L->top-1, diff); return 1; } else if (mm == MM_lt) { /* Pointer comparison (unsigned). */ setboolV(L->top-1, ((uintptr_t)pp < (uintptr_t)pp2));