diff --git a/.gitignore b/.gitignore index 8d90a98..c67ec4f 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,5 @@ lua-5.1.4/ /lua-5.4.1.tar.gz /lua-5.4.2.tar.gz /lua-5.4.2-tests.tar.gz +/lua-5.4.3.tar.gz +/lua-5.4.3-tests.tar.gz diff --git a/lua-5.4.3-bug3.patch b/lua-5.4.3-bug3.patch new file mode 100644 index 0000000..dd27670 --- /dev/null +++ b/lua-5.4.3-bug3.patch @@ -0,0 +1,32 @@ +diff -up lua-5.4.3/src/lvm.c.bug3 lua-5.4.3/src/lvm.c +--- lua-5.4.3/src/lvm.c.bug3 2021-04-28 13:27:54.025590350 -0400 ++++ lua-5.4.3/src/lvm.c 2021-04-28 13:28:55.233614835 -0400 +@@ -847,10 +847,19 @@ void luaV_finishOp (lua_State *L) { + luaV_concat(L, total); /* concat them (may yield again) */ + break; + } +- case OP_CLOSE: case OP_RETURN: { /* yielded closing variables */ ++ case OP_CLOSE: { /* yielded closing variables */ + ci->u.l.savedpc--; /* repeat instruction to close other vars. */ + break; + } ++ case OP_RETURN: { /* yielded closing variables */ ++ StkId ra = base + GETARG_A(inst); ++ /* correct top to signal correct number of returns (in case the ++ return is "in top" */ ++ L->top = ra + ci->u2.nres; ++ /* repeat instruction to close other vars. and complete the return */ ++ ci->u.l.savedpc--; ++ break; ++ } + default: { + /* only these other opcodes can yield */ + lua_assert(op == OP_TFORCALL || op == OP_CALL || +@@ -1670,6 +1679,7 @@ void luaV_execute (lua_State *L, CallInf + n = cast_int(L->top - ra); /* get what is available */ + savepc(ci); + if (TESTARG_k(i)) { /* may there be open upvalues? */ ++ ci->u2.nres = n; /* save number of returns */ + if (L->top < ci->top) + L->top = ci->top; + luaF_close(L, base, CLOSEKTOP, 1); diff --git a/lua.spec b/lua.spec index 293e34a..11d662b 100644 --- a/lua.spec +++ b/lua.spec @@ -1,6 +1,6 @@ %global major_version 5.4 # Normally, this is the same as version, but... not always. -%global test_version 5.4.2 +%global test_version 5.4.3 # If you are incrementing major_version, enable bootstrapping and adjust accordingly. # Version should be the latest prior build. If you don't do this, RPM will break and # everything will grind to a halt. @@ -13,8 +13,8 @@ Name: lua -Version: %{major_version}.2 -Release: 2%{?dist} +Version: %{major_version}.3 +Release: 1%{?dist} Summary: Powerful light-weight programming language License: MIT URL: http://www.lua.org/ @@ -38,9 +38,10 @@ Patch6: %{name}-5.3.5-luac-shared-link-fix.patch %endif # https://www.lua.org/bugs.html Patch18: %{name}-5.3.5-CVE-2020-24370.patch +Patch19: %{name}-5.4.3-bug3.patch BuildRequires: automake autoconf libtool readline-devel ncurses-devel -BuildRequires: make +BuildRequires: make Requires: lua-libs = %{version}-%{release} %description @@ -94,6 +95,7 @@ mv src/luaconf.h src/luaconf.h.template.in %patch4 -p1 -z .configure-compat-all # Put proper version in configure.ac, patch0 hardcodes 5.3.0 sed -i 's|5.3.0|%{version}|g' configure.ac +%patch19 -p1 -b .bug3 autoreconf -ifv %if 0%{?bootstrap} @@ -209,6 +211,10 @@ popd %{_libdir}/*.a %changelog +* Wed Mar 31 2021 Tom Callaway - 5.4.3-1 +- update to 5.4.3 +- apply fix for bug3 + * Tue Jan 26 2021 Fedora Release Engineering - 5.4.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild diff --git a/sources b/sources index 3eee4e5..729c244 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ SHA512 (lua-5.3.5.tar.gz) = 4f9516acc4659dfd0a9e911bfa00c0788f0ad9348e5724fe8fb17aac59e9c0060a64378f82be86f8534e49c6c013e7488ad17321bafcc787831d3d67406bd0f4 -SHA512 (lua-5.4.2.tar.gz) = 9454a6ffd973598f2f4a2399834c31c4d5090bd12e716776e3189aa57760319d114ee64a8338bbc2ef5e08150bf0adc2ad94a1b2677f38538a43359969d4d920 -SHA512 (lua-5.4.2-tests.tar.gz) = 1516c59deca211c38444bbf97b18e988e939209b03915d3691d756eeed31b52e8d3a1f05b71ac0b561965274c7b6f3afc4244cd2e9069995696e737e2d9dd40b +SHA512 (lua-5.4.3.tar.gz) = 3a1a3ee8694b72b4ec9d3ce76705fe179328294353604ca950c53f41b41161b449877d43318ef4501fee44ecbd6c83314ce7468d7425ba9b2903c9c32a28bbc0 +SHA512 (lua-5.4.3-tests.tar.gz) = 034ebddd5b89ccc57e1d9f25853b502e1569bdef2b0bf26380d8babf0d5b2e001c55086cc28e0840969dc2905ac05b55dd2b4496fa997c6f4e37c8878e123359