20 lines
		
	
	
		
			564 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
		
			564 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
| 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(-)
 | |
| 
 | |
| --- a/src/ldo.c
 | |
| +++ b/src/ldo.c
 | |
| @@ -274,7 +274,7 @@ int luaD_precall (lua_State *L, StkId fu
 | |
|      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;
 | 
