about summary refs log tree commit diff
path: root/pkgs/development/interpreters/lua-5/CVE-2014-5461.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/interpreters/lua-5/CVE-2014-5461.patch')
-rw-r--r--pkgs/development/interpreters/lua-5/CVE-2014-5461.patch21
1 files changed, 21 insertions, 0 deletions
diff --git a/pkgs/development/interpreters/lua-5/CVE-2014-5461.patch b/pkgs/development/interpreters/lua-5/CVE-2014-5461.patch
new file mode 100644
index 000000000000..31d3b8bdee76
--- /dev/null
+++ b/pkgs/development/interpreters/lua-5/CVE-2014-5461.patch
@@ -0,0 +1,21 @@
+From: Enrico Tassi <gareuselesinge@debian.org>
+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;