From be516634e06ec8ae42723d40efd115c56b24798b Mon Sep 17 00:00:00 2001 From: Luigi Scarso <luigi.scarso@gmail.com> Date: Sun, 2 Feb 2025 10:16:38 +0100 Subject: [PATCH] Patch for lj_prng.c if O_CLOEXEC is not defined. --- source/libs/luajit/LuaJIT-src/src/lj_prng.c | 4 ++++ .../TLpatches/{patch-lauxlib.h => patch-lauxlib} | 1 + .../{patch-lib_init.c => patch-lib_init} | 1 + .../{patch-lib_package.c => patch-lib_package} | 1 + .../TLpatches/{patch-lj_arch.h => patch-lj_arch} | 1 + .../TLpatches/{patch-lj_def.h => patch-lj_def} | 1 + .../TLpatches/{patch-lj_load.c => patch-lj_load} | 1 + source/libs/luajit/TLpatches/patch-lj_pnrg | 15 +++++++++++++++ .../TLpatches/{patch-lj_str.c => patch-lj_str} | 1 + .../luajit/TLpatches/{patch-lua.h => patch-lua} | 1 + .../TLpatches/{patch-lualib.h => patch-lualib} | 1 + source/texk/web2c/luatexdir/luatex_svnversion.h | 2 +- 12 files changed, 29 insertions(+), 1 deletion(-) rename source/libs/luajit/TLpatches/{patch-lauxlib.h => patch-lauxlib} (93%) rename source/libs/luajit/TLpatches/{patch-lib_init.c => patch-lib_init} (73%) rename source/libs/luajit/TLpatches/{patch-lib_package.c => patch-lib_package} (93%) rename source/libs/luajit/TLpatches/{patch-lj_arch.h => patch-lj_arch} (77%) rename source/libs/luajit/TLpatches/{patch-lj_def.h => patch-lj_def} (84%) rename source/libs/luajit/TLpatches/{patch-lj_load.c => patch-lj_load} (90%) create mode 100644 source/libs/luajit/TLpatches/patch-lj_pnrg rename source/libs/luajit/TLpatches/{patch-lj_str.c => patch-lj_str} (76%) rename source/libs/luajit/TLpatches/{patch-lua.h => patch-lua} (88%) rename source/libs/luajit/TLpatches/{patch-lualib.h => patch-lualib} (85%) diff --git a/source/libs/luajit/LuaJIT-src/src/lj_prng.c b/source/libs/luajit/LuaJIT-src/src/lj_prng.c index 02146b273..ea7a9d092 100644 --- a/source/libs/luajit/LuaJIT-src/src/lj_prng.c +++ b/source/libs/luajit/LuaJIT-src/src/lj_prng.c @@ -227,7 +227,11 @@ int LJ_FASTCALL lj_prng_seed_secure(PRNGState *rs) ** or the OS ran out of file descriptors. */ { +#ifdef O_CLOEXEC int fd = open("/dev/urandom", O_RDONLY|O_CLOEXEC); +#else + int fd = open("/dev/urandom", O_RDONLY); +#endif if (fd != -1) { ssize_t n = read(fd, rs->u, sizeof(rs->u)); (void)close(fd); diff --git a/source/libs/luajit/TLpatches/patch-lauxlib.h b/source/libs/luajit/TLpatches/patch-lauxlib similarity index 93% rename from source/libs/luajit/TLpatches/patch-lauxlib.h rename to source/libs/luajit/TLpatches/patch-lauxlib index bc7a642fb..3601834dc 100644 --- a/source/libs/luajit/TLpatches/patch-lauxlib.h +++ b/source/libs/luajit/TLpatches/patch-lauxlib @@ -1,3 +1,4 @@ +diff -bu a/source/libs/luajit/LuaJIT-src/src/lauxlib.h b/source/libs/luajit/LuaJIT-src/src/lauxlib.h --- a/source/libs/luajit/LuaJIT-src/src/lauxlib.h +++ b/source/libs/luajit/LuaJIT-src/src/lauxlib.h @@ -93,6 +93,31 @@ diff --git a/source/libs/luajit/TLpatches/patch-lib_init.c b/source/libs/luajit/TLpatches/patch-lib_init similarity index 73% rename from source/libs/luajit/TLpatches/patch-lib_init.c rename to source/libs/luajit/TLpatches/patch-lib_init index 5890d4cd9..7318b9676 100644 --- a/source/libs/luajit/TLpatches/patch-lib_init.c +++ b/source/libs/luajit/TLpatches/patch-lib_init @@ -1,3 +1,4 @@ +diff -bu a/source/libs/luajit/LuaJIT-src/src/lib_init.c b/source/libs/luajit/LuaJIT-src/src/lib_init.c --- a/source/libs/luajit/LuaJIT-src/src/lib_init.c +++ b/source/libs/luajit/LuaJIT-src/src/lib_init.c @@ -26,6 +26,7 @@ diff --git a/source/libs/luajit/TLpatches/patch-lib_package.c b/source/libs/luajit/TLpatches/patch-lib_package similarity index 93% rename from source/libs/luajit/TLpatches/patch-lib_package.c rename to source/libs/luajit/TLpatches/patch-lib_package index 18752fc32..b323a3747 100644 --- a/source/libs/luajit/TLpatches/patch-lib_package.c +++ b/source/libs/luajit/TLpatches/patch-lib_package @@ -1,3 +1,4 @@ +diff -bu a/source/libs/luajit/LuaJIT-src/src/lib_package.c b/source/libs/luajit/LuaJIT-src/src/lib_package.c --- a/source/libs/luajit/LuaJIT-src/src/lib_package.c +++ b/source/libs/luajit/LuaJIT-src/src/lib_package.c @@ -378,6 +378,29 @@ diff --git a/source/libs/luajit/TLpatches/patch-lj_arch.h b/source/libs/luajit/TLpatches/patch-lj_arch similarity index 77% rename from source/libs/luajit/TLpatches/patch-lj_arch.h rename to source/libs/luajit/TLpatches/patch-lj_arch index e50fb9883..496d235d8 100644 --- a/source/libs/luajit/TLpatches/patch-lj_arch.h +++ b/source/libs/luajit/TLpatches/patch-lj_arch @@ -1,3 +1,4 @@ +diff -bu a/source/libs/luajit/LuaJIT-src/src/lj_arch.h b/source/libs/luajit/LuaJIT-src/src/lj_arch.h --- a/source/libs/luajit/LuaJIT-src/src/lj_arch.h +++ b/source/libs/luajit/LuaJIT-src/src/lj_arch.h @@ -455,7 +455,7 @@ diff --git a/source/libs/luajit/TLpatches/patch-lj_def.h b/source/libs/luajit/TLpatches/patch-lj_def similarity index 84% rename from source/libs/luajit/TLpatches/patch-lj_def.h rename to source/libs/luajit/TLpatches/patch-lj_def index 5e06ff87b..9d407e2e7 100644 --- a/source/libs/luajit/TLpatches/patch-lj_def.h +++ b/source/libs/luajit/TLpatches/patch-lj_def @@ -1,3 +1,4 @@ +diff -bu a/source/libs/luajit/LuaJIT-src/src/lj_def.h b/source/libs/luajit/LuaJIT-src/src/lj_def.h --- a/source/libs/luajit/LuaJIT-src/src/lj_def.h +++ b/source/libs/luajit/LuaJIT-src/src/lj_def.h @@ -66,7 +66,7 @@ diff --git a/source/libs/luajit/TLpatches/patch-lj_load.c b/source/libs/luajit/TLpatches/patch-lj_load similarity index 90% rename from source/libs/luajit/TLpatches/patch-lj_load.c rename to source/libs/luajit/TLpatches/patch-lj_load index b302b205e..44bd2925d 100644 --- a/source/libs/luajit/TLpatches/patch-lj_load.c +++ b/source/libs/luajit/TLpatches/patch-lj_load @@ -1,3 +1,4 @@ +diff -bu a/source/libs/luajit/LuaJIT-src/src/lj_load.c b/source/libs/luajit/LuaJIT-src/src/lj_load.c --- a/source/libs/luajit/LuaJIT-src/src/lj_load.c +++ b/source/libs/luajit/LuaJIT-src/src/lj_load.c @@ -182,3 +182,32 @@ diff --git a/source/libs/luajit/TLpatches/patch-lj_pnrg b/source/libs/luajit/TLpatches/patch-lj_pnrg new file mode 100644 index 000000000..9d1055a44 --- /dev/null +++ b/source/libs/luajit/TLpatches/patch-lj_pnrg @@ -0,0 +1,15 @@ +diff -bu a/source/libs/luajit/LuaJIT-src/src/lj_prng.c b/source/libs/luajit/LuaJIT-src/src/lj_prng.c +--- a/source/libs/luajit/LuaJIT-src/src/lj_prng.c ++++ b/source/libs/luajit/LuaJIT-src/src/lj_prng.c +@@ -227,7 +227,11 @@ + ** or the OS ran out of file descriptors. + */ + { ++#ifdef O_CLOEXEC + int fd = open("/dev/urandom", O_RDONLY|O_CLOEXEC); ++#else ++ int fd = open("/dev/urandom", O_RDONLY); ++#endif + if (fd != -1) { + ssize_t n = read(fd, rs->u, sizeof(rs->u)); + (void)close(fd); diff --git a/source/libs/luajit/TLpatches/patch-lj_str.c b/source/libs/luajit/TLpatches/patch-lj_str similarity index 76% rename from source/libs/luajit/TLpatches/patch-lj_str.c rename to source/libs/luajit/TLpatches/patch-lj_str index 2b241b04d..545a1898f 100644 --- a/source/libs/luajit/TLpatches/patch-lj_str.c +++ b/source/libs/luajit/TLpatches/patch-lj_str @@ -1,3 +1,4 @@ +diff -bu a/source/libs/luajit/LuaJIT-src/src/lj_str.c b/source/libs/luajit/LuaJIT-src/src/lj_str.c --- a/source/libs/luajit/LuaJIT-src/src/lj_str.c +++ b/source/libs/luajit/LuaJIT-src/src/lj_str.c @@ -310,6 +310,7 @@ diff --git a/source/libs/luajit/TLpatches/patch-lua.h b/source/libs/luajit/TLpatches/patch-lua similarity index 88% rename from source/libs/luajit/TLpatches/patch-lua.h rename to source/libs/luajit/TLpatches/patch-lua index 48111225b..bb97fa5ec 100644 --- a/source/libs/luajit/TLpatches/patch-lua.h +++ b/source/libs/luajit/TLpatches/patch-lua @@ -1,3 +1,4 @@ +diff -bu a/source/libs/luajit/LuaJIT-src/src/lua.h b/source/libs/luajit/LuaJIT-src/src/lua.h --- a/source/libs/luajit/LuaJIT-src/src/lua.h +++ b/source/libs/luajit/LuaJIT-src/src/lua.h @@ -104,6 +104,9 @@ diff --git a/source/libs/luajit/TLpatches/patch-lualib.h b/source/libs/luajit/TLpatches/patch-lualib similarity index 85% rename from source/libs/luajit/TLpatches/patch-lualib.h rename to source/libs/luajit/TLpatches/patch-lualib index b935ac1fe..6a0f53f62 100644 --- a/source/libs/luajit/TLpatches/patch-lualib.h +++ b/source/libs/luajit/TLpatches/patch-lualib @@ -1,3 +1,4 @@ +diff -bu a/source/libs/luajit/LuaJIT-src/src/lualib.h b/source/libs/luajit/LuaJIT-src/src/lualib.h --- a/source/libs/luajit/LuaJIT-src/src/lualib.h +++ b/source/libs/luajit/LuaJIT-src/src/lualib.h @@ -22,6 +22,8 @@ diff --git a/source/texk/web2c/luatexdir/luatex_svnversion.h b/source/texk/web2c/luatexdir/luatex_svnversion.h index 59d787ee2..4f52995f0 100644 --- a/source/texk/web2c/luatexdir/luatex_svnversion.h +++ b/source/texk/web2c/luatexdir/luatex_svnversion.h @@ -1,4 +1,4 @@ #ifndef luatex_svn_revision_h #define luatex_svn_revision_h -#define luatex_svn_revision 7652 +#define luatex_svn_revision 7653 #endif -- GitLab