From f5d368a31d6ef046eb2955c74ec6f54f32ed5c4e Mon Sep 17 00:00:00 2001 From: bbhtt Date: Fri, 17 Jan 2025 07:44:35 +0530 Subject: [PATCH] Add patch for CVE-2014-5461 http://lua-users.org/lists/lua-l/2021-07/msg00115.html --- ...x-stack-overflow-in-vararg-functions.patch | 21 +++++++++++++++++++ lua5.1/lua-5.1.5.json | 4 ++++ 2 files changed, 25 insertions(+) create mode 100644 lua5.1/0004-Fix-stack-overflow-in-vararg-functions.patch diff --git a/lua5.1/0004-Fix-stack-overflow-in-vararg-functions.patch b/lua5.1/0004-Fix-stack-overflow-in-vararg-functions.patch new file mode 100644 index 00000000..31d3b8bd --- /dev/null +++ b/lua5.1/0004-Fix-stack-overflow-in-vararg-functions.patch @@ -0,0 +1,21 @@ +From: Enrico Tassi +Date: Tue, 26 Aug 2014 16:20:55 +0200 +Subject: Fix stack overflow in vararg functions + +--- + src/ldo.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/ldo.c b/src/ldo.c +index d1bf786..30333bf 100644 +--- a/src/ldo.c ++++ b/src/ldo.c +@@ -274,7 +274,7 @@ int luaD_precall (lua_State *L, StkId func, int nresults) { + CallInfo *ci; + StkId st, base; + Proto *p = cl->p; +- luaD_checkstack(L, p->maxstacksize); ++ luaD_checkstack(L, p->maxstacksize + p->numparams); + func = restorestack(L, funcr); + if (!p->is_vararg) { /* no varargs? */ + base = func + 1; diff --git a/lua5.1/lua-5.1.5.json b/lua5.1/lua-5.1.5.json index 896cadb9..dabf86c0 100644 --- a/lua5.1/lua-5.1.5.json +++ b/lua5.1/lua-5.1.5.json @@ -21,6 +21,10 @@ "type": "patch", "path": "lua-5.1.5-so.patch" }, + { + "type": "patch", + "path": "0004-Fix-stack-overflow-in-vararg-functions.patch" + }, { "type": "shell", "commands": [