summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYossi Gottlieb <yossigo@gmail.com>2020-08-31 20:42:46 +0300
committerOran Agra <oran@redislabs.com>2020-09-01 09:27:58 +0300
commitd2532d133518f2e07720f0947a6597447a3d45b4 (patch)
tree68deb844c28f3fea60aa2794da50000045fd2ed9
parent00d0d870d289ef754a610c2b2cfc436ec6863447 (diff)
downloadredis-d2532d133518f2e07720f0947a6597447a3d45b4.tar.gz
Backport Lua 5.2.2 stack overflow fix. (#7733)
This fixes the issue described in CVE-2014-5461. At this time we cannot confirm that the original issue has a real impact on Redis, but it is included as an extra safety measure. (cherry picked from commit d75ad774a92bd7de0b9448be3d622d7a13b7af27)
-rw-r--r--deps/lua/src/ldo.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/deps/lua/src/ldo.c b/deps/lua/src/ldo.c
index 514f7a2a3..939940a4c 100644
--- a/deps/lua/src/ldo.c
+++ b/deps/lua/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;