diff options
| author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2006-09-14 09:59:06 -0300 |
|---|---|---|
| committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2006-09-14 09:59:06 -0300 |
| commit | d5a23dde9038a9e29d90946a2f386d98fec08f3a (patch) | |
| tree | f8c131d395c6249c9c4e1f993de520999b69af73 /lparser.c | |
| parent | a7c9e45c64a4bff9bdaf0d1177509bdd00fc53f7 (diff) | |
| download | lua-d5a23dde9038a9e29d90946a2f386d98fec08f3a.tar.gz lua-d5a23dde9038a9e29d90946a2f386d98fec08f3a.tar.bz2 lua-d5a23dde9038a9e29d90946a2f386d98fec08f3a.zip | |
little better error messages for internal arrays overflows
Diffstat (limited to 'lparser.c')
| -rw-r--r-- | lparser.c | 6 |
1 files changed, 3 insertions, 3 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: lparser.c,v 2.45 2006/07/12 19:02:50 roberto Exp roberto $ | 2 | ** $Id: lparser.c,v 2.46 2006/08/15 19:59:20 roberto Exp roberto $ |
| 3 | ** Lua Parser | 3 | ** Lua Parser |
| 4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
| 5 | */ | 5 | */ |
| @@ -145,7 +145,7 @@ static int registerlocalvar (LexState *ls, TString *varname) { | |||
| 145 | Proto *f = fs->f; | 145 | Proto *f = fs->f; |
| 146 | int oldsize = f->sizelocvars; | 146 | int oldsize = f->sizelocvars; |
| 147 | luaM_growvector(ls->L, f->locvars, fs->nlocvars, f->sizelocvars, | 147 | luaM_growvector(ls->L, f->locvars, fs->nlocvars, f->sizelocvars, |
| 148 | LocVar, SHRT_MAX, "too many local variables"); | 148 | LocVar, SHRT_MAX, "local-variable table"); |
| 149 | while (oldsize < f->sizelocvars) f->locvars[oldsize++].varname = NULL; | 149 | while (oldsize < f->sizelocvars) f->locvars[oldsize++].varname = NULL; |
| 150 | f->locvars[fs->nlocvars].varname = varname; | 150 | f->locvars[fs->nlocvars].varname = varname; |
| 151 | luaC_objbarrier(ls->L, f, varname); | 151 | luaC_objbarrier(ls->L, f, varname); |
| @@ -314,7 +314,7 @@ static void pushclosure (LexState *ls, FuncState *func, expdesc *v) { | |||
| 314 | int oldsize = f->sizep; | 314 | int oldsize = f->sizep; |
| 315 | int i; | 315 | int i; |
| 316 | luaM_growvector(ls->L, f->p, fs->np, f->sizep, Proto *, | 316 | luaM_growvector(ls->L, f->p, fs->np, f->sizep, Proto *, |
| 317 | MAXARG_Bx, "constant table overflow"); | 317 | MAXARG_Bx, "constant table"); |
| 318 | while (oldsize < f->sizep) f->p[oldsize++] = NULL; | 318 | while (oldsize < f->sizep) f->p[oldsize++] = NULL; |
| 319 | f->p[fs->np++] = func->f; | 319 | f->p[fs->np++] = func->f; |
| 320 | luaC_objbarrier(ls->L, f, func->f); | 320 | luaC_objbarrier(ls->L, f, func->f); |
