diff --git a/src/lib_table.c b/src/lib_table.c index 6d3a9c2d..64684b78 100644 --- a/src/lib_table.c +++ b/src/lib_table.c @@ -82,7 +82,7 @@ LJLIB_CF(table_maxn) } node = noderef(t->node); for (i = (ptrdiff_t)t->hmask; i >= 0; i--) - if (tvisnumber(&node[i].key)) { + if (!tvisnil(&node[i].val) && tvisnumber(&node[i].key)) { lua_Number n = numberVnum(&node[i].key); if (n > m) m = n; }