From a3f9c1a77abb2add30334160055dc2ed11eb0b2e Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Tue, 25 Apr 2017 17:01:14 -0300 Subject: [PATCH] detail (using unsigned comparison in range check for LOADI) --- lcode.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lcode.c b/lcode.c index 4271a5a7..12dc2505 100644 --- a/lcode.c +++ b/lcode.c @@ -1,5 +1,5 @@ /* -** $Id: lcode.c,v 2.114 2017/04/24 20:26:39 roberto Exp roberto $ +** $Id: lcode.c,v 2.115 2017/04/25 18:28:25 roberto Exp roberto $ ** Code generator for Lua ** See Copyright Notice in lua.h */ @@ -516,7 +516,7 @@ static int nilK (FuncState *fs) { void luaK_int (FuncState *fs, int reg, lua_Integer i) { - if (-MAXARG_sBx <= i && i <= MAXARG_sBx) + if (l_castS2U(i) + MAXARG_sBx <= l_castS2U(MAXARG_Bx)) luaK_codeAsBx(fs, OP_LOADI, reg, cast_int(i)); else luaK_codek(fs, reg, luaK_intK(fs, i));