summaryrefslogtreecommitdiff
path: root/ltable.c
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2015-07-04 13:32:34 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2015-07-04 13:32:34 -0300
commit8950e0c049cc51025d501453b85f501b15c5317a (patch)
tree6449a25bf4e2a94ead1b25b176a25e6454a41917 /ltable.c
parent8217e0d4fe4cf80c52328230614ab41cf32f4afe (diff)
downloadlua-github-8950e0c049cc51025d501453b85f501b15c5317a.tar.gz
avoid possibility of subtle arith. overflow
Diffstat (limited to 'ltable.c')
-rw-r--r--ltable.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/ltable.c b/ltable.c
index 2e55f760..8a345062 100644
--- a/ltable.c
+++ b/ltable.c
@@ -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);