| 1 | From: Enrico Tassi <[email protected]>
|
| 2 | Date: Tue, 26 Aug 2014 16:20:55 +0200
|
| 3 | Subject: Fix stack overflow in vararg functions
|
| 4 |
|
| 5 | ---
|
| 6 | src/ldo.c | 2 +-
|
| 7 | 1 file changed, 1 insertion(+), 1 deletion(-)
|
| 8 |
|
| 9 | diff --git a/src/ldo.c b/src/ldo.c
|
| 10 | index d1bf786..30333bf 100644
|
| 11 | |
| 12 | |
| 13 | @@ -274,7 +274,7 @@ int luaD_precall (lua_State *L, StkId func, int nresults) {
|
| 14 | CallInfo *ci;
|
| 15 | StkId st, base;
|
| 16 | Proto *p = cl->p;
|
| 17 | - luaD_checkstack(L, p->maxstacksize);
|
| 18 | + luaD_checkstack(L, p->maxstacksize + p->numparams);
|
| 19 | func = restorestack(L, funcr);
|
| 20 | base = func + 1;
|