From c56811bb7acf40174ac9b63e69f58b42adf85bd7 Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Thu, 21 Jan 2010 19:42:51 +0100 Subject: [PATCH] Fix undefined behavior in table resizing calculation. --- src/lj_tab.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lj_tab.c b/src/lj_tab.c index afbdc8aa..43737aa9 100644 --- a/src/lj_tab.c +++ b/src/lj_tab.c @@ -357,7 +357,8 @@ static void rehashtab(lua_State *L, GCtab *t, cTValue *ek) uint32_t total, asize, na, i; for (i = 0; i < LJ_MAX_ABITS; i++) bins[i] = 0; asize = countarray(t, bins); - total = 1 + asize + counthash(t, bins, &asize); + total = 1 + asize; + total += counthash(t, bins, &asize); asize += countint(ek, bins); na = bestasize(bins, &asize); total -= na;