1
0
mirror of https://github.com/lua/lua.git synced 2025-01-14 05:43:00 +08:00

avoid possibility of subtle arith. overflow

This commit is contained in:
Roberto Ierusalimschy 2015-07-04 13:32:34 -03:00
parent 8217e0d4fe
commit 8950e0c049

View File

@ -1,5 +1,5 @@
/*
** $Id: ltable.c,v 2.111 2015/06/09 14:21:13 roberto Exp roberto $
** $Id: ltable.c,v 2.112 2015/07/01 17:46:55 roberto Exp roberto $
** Lua tables (hash)
** See Copyright Notice in lua.h
*/
@ -501,7 +501,7 @@ TValue *luaH_newkey (lua_State *L, Table *t, const TValue *key) {
*/
const TValue *luaH_getint (Table *t, lua_Integer key) {
/* (1 <= key && key <= t->sizearray) */
if (l_castS2U(key - 1) < t->sizearray)
if (l_castS2U(key) - 1 < t->sizearray)
return &t->array[key - 1];
else {
Node *n = hashint(t, key);