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); |