diff --git a/src/lib_table.c b/src/lib_table.c index 5a1e0f78..cf39f08c 100644 --- a/src/lib_table.c +++ b/src/lib_table.c @@ -225,12 +225,12 @@ static void auxsort(lua_State *L, int l, int u) for (;;) { /* invariant: a[l..i] <= P <= a[j..u] */ /* repeat ++i until a[i] >= P */ while (lua_rawgeti(L, 1, ++i), sort_comp(L, -1, -2)) { - if (i>u) lj_err_caller(L, LJ_ERR_TABSORT); + if (i>=u) lj_err_caller(L, LJ_ERR_TABSORT); lua_pop(L, 1); /* remove a[i] */ } /* repeat --j until a[j] <= P */ while (lua_rawgeti(L, 1, --j), sort_comp(L, -3, -1)) { - if (j