diff options
author | Cecil Hugh Watson <knoppmyth@gmail.com> | 2009-09-26 01:57:08 (GMT) |
---|---|---|
committer | Cecil Hugh Watson <knoppmyth@gmail.com> | 2009-09-26 01:57:08 (GMT) |
commit | 7b29169fff9e7c624890c5edffe85def8a293136 (patch) | |
tree | 47753889faa3a2063b66d1c7e7681e703eb1b39a /abs/extra/community/lua/lua-5.1.3-official-patch4.diff | |
parent | c491dea779dac29afff3578bf8245943817c2339 (diff) | |
download | linhes_pkgbuild-7b29169fff9e7c624890c5edffe85def8a293136.zip linhes_pkgbuild-7b29169fff9e7c624890c5edffe85def8a293136.tar.gz linhes_pkgbuild-7b29169fff9e7c624890c5edffe85def8a293136.tar.bz2 |
LinHES 6.01.00
Diffstat (limited to 'abs/extra/community/lua/lua-5.1.3-official-patch4.diff')
-rw-r--r-- | abs/extra/community/lua/lua-5.1.3-official-patch4.diff | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/abs/extra/community/lua/lua-5.1.3-official-patch4.diff b/abs/extra/community/lua/lua-5.1.3-official-patch4.diff new file mode 100644 index 0000000..1d03f37 --- /dev/null +++ b/abs/extra/community/lua/lua-5.1.3-official-patch4.diff @@ -0,0 +1,18 @@ +--- src/lbaselib.c (old) ++++ src/lbaselib.c (new) +@@ -344,10 +344,12 @@ + luaL_checktype(L, 1, LUA_TTABLE); + i = luaL_optint(L, 2, 1); + e = luaL_opt(L, luaL_checkint, 3, luaL_getn(L, 1)); ++ if (i > e) return 0; /* empty range */ + n = e - i + 1; /* number of elements */ +- if (n <= 0) return 0; /* empty range */ +- luaL_checkstack(L, n, "table too big to unpack"); +- for (; i<=e; i++) /* push arg[i...e] */ ++ if (n <= 0 || !lua_checkstack(L, n)) /* n <= 0 means arith. overflow */ ++ return luaL_error(L, "too many results to unpack"); ++ lua_rawgeti(L, 1, i); /* push arg[i] (avoiding overflow problems) */ ++ while (i++ < e) /* push arg[i + 1...e] */ + lua_rawgeti(L, 1, i); + return n; + } |