diff options
author | Michael Raskin <7c6f434c@mail.ru> | 2019-11-21 13:32:55 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-11-21 13:32:55 +0000 |
commit | bad2bed08cee65124a6f6cee1667355bc00d9283 (patch) | |
tree | d0f0cdc7c4f62605a05d99c6d670cf184c2d21d1 /pkgs | |
parent | 403b208462543880e1e1c1b1d1d50c924f164f3d (diff) | |
parent | 9a1e9258f689df835acd4d89c5e960f128ecb41c (diff) | |
download | nixlib-bad2bed08cee65124a6f6cee1667355bc00d9283.tar nixlib-bad2bed08cee65124a6f6cee1667355bc00d9283.tar.gz nixlib-bad2bed08cee65124a6f6cee1667355bc00d9283.tar.bz2 nixlib-bad2bed08cee65124a6f6cee1667355bc00d9283.tar.lz nixlib-bad2bed08cee65124a6f6cee1667355bc00d9283.tar.xz nixlib-bad2bed08cee65124a6f6cee1667355bc00d9283.tar.zst nixlib-bad2bed08cee65124a6f6cee1667355bc00d9283.zip |
Merge pull request #73859 from ckauhaus/lua-5.3-CVE-2019-6706
lua-5.3: add patch for CVE-2019-6706
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/development/interpreters/lua-5/CVE-2019-6706.patch | 22 | ||||
-rw-r--r-- | pkgs/development/interpreters/lua-5/default.nix | 7 |
2 files changed, 27 insertions, 2 deletions
diff --git a/pkgs/development/interpreters/lua-5/CVE-2019-6706.patch b/pkgs/development/interpreters/lua-5/CVE-2019-6706.patch new file mode 100644 index 000000000000..89e81b7eb68b --- /dev/null +++ b/pkgs/development/interpreters/lua-5/CVE-2019-6706.patch @@ -0,0 +1,22 @@ +--- a/src/lapi.c ++++ b/src/lapi.c +@@ -1285,14 +1285,14 @@ LUA_API void *lua_upvalueid (lua_State * + + LUA_API void lua_upvaluejoin (lua_State *L, int fidx1, int n1, + int fidx2, int n2) { +- LClosure *f1; +- UpVal **up1 = getupvalref(L, fidx1, n1, &f1); ++ UpVal **up1 = getupvalref(L, fidx1, n1, NULL); /* the last parameter not needed */ + UpVal **up2 = getupvalref(L, fidx2, n2, NULL); ++ if (*up1 == *up2) return; /* Already joined */ ++ (*up2)->refcount++; ++ if (upisopen(*up2)) (*up2)->u.open.touched = 1; ++ luaC_upvalbarrier(L, *up2); + luaC_upvdeccount(L, *up1); + *up1 = *up2; +- (*up1)->refcount++; +- if (upisopen(*up1)) (*up1)->u.open.touched = 1; +- luaC_upvalbarrier(L, *up1); + } + + diff --git a/pkgs/development/interpreters/lua-5/default.nix b/pkgs/development/interpreters/lua-5/default.nix index 1398e66d9a5b..7e79ff8f117a 100644 --- a/pkgs/development/interpreters/lua-5/default.nix +++ b/pkgs/development/interpreters/lua-5/default.nix @@ -1,5 +1,5 @@ # similar to interpreters/python/default.nix -{ stdenv, lib, callPackage, fetchurl }: +{ stdenv, lib, callPackage, fetchurl, fetchpatch }: let dsoPatch51 = fetchurl { url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/lua-arch.patch?h=packages/lua51"; @@ -18,7 +18,10 @@ in rec { lua5_3 = callPackage ./interpreter.nix { sourceVersion = { major = "5"; minor = "3"; patch = "5"; }; hash = "0c2eed3f960446e1a3e4b9a1ca2f3ff893b6ce41942cf54d5dd59ab4b3b058ac"; - patches = lib.optionals stdenv.isDarwin [ ./5.2.darwin.patch ] ; + patches = + lib.optionals stdenv.isDarwin [ ./5.2.darwin.patch ] ++ [ + ./CVE-2019-6706.patch + ]; postConfigure = lib.optionalString (!stdenv.isDarwin) '' cat ${./lua-5.3-dso.make} >> src/Makefile sed -e 's/ALL_T *= */& $(LUA_SO)/' -i src/Makefile |