]> git.ipfire.org Git - thirdparty/LuaJIT.git/commitdiff
Tighter check on table.sort function compliance (from Lua 5.2).
authorMike Pall <mike>
Fri, 19 Nov 2010 17:44:59 +0000 (18:44 +0100)
committerMike Pall <mike>
Fri, 19 Nov 2010 17:44:59 +0000 (18:44 +0100)
src/lib_table.c

index 5a1e0f78ecb5c7a41215fa0129d6d9456af2c1ff..cf39f08cdafcb7efad46dd959261c5b26df7ccbc 100644 (file)
@@ -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<l) lj_err_caller(L, LJ_ERR_TABSORT);
+       if (j<=l) lj_err_caller(L, LJ_ERR_TABSORT);
        lua_pop(L, 1);  /* remove a[j] */
       }
       if (j<i) {