summaryrefslogtreecommitdiff
path: root/lparser.c
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2002-10-16 17:40:58 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2002-10-16 17:40:58 -0300
commitc196348717dfda116726145220e5d1311547980e (patch)
tree83149c29559b888eed7a28e5f1558a67a912cf90 /lparser.c
parent669129a6d8210e758ba94ea2786a370946572f7d (diff)
downloadlua-c196348717dfda116726145220e5d1311547980e.tar.gz
lua-c196348717dfda116726145220e5d1311547980e.tar.bz2
lua-c196348717dfda116726145220e5d1311547980e.zip
in case of memory allocation errors, sizecode and sizelineinfo can
be different
Diffstat (limited to 'lparser.c')
-rw-r--r--lparser.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/lparser.c b/lparser.c
index 1009f87b..26f079f2 100644
--- a/lparser.c
+++ b/lparser.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lparser.c,v 1.194 2002/08/30 19:09:21 roberto Exp roberto $ 2** $Id: lparser.c,v 1.195 2002/10/08 18:46:08 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*/
@@ -337,8 +337,9 @@ static void close_func (LexState *ls) {
337 removevars(ls, 0); 337 removevars(ls, 0);
338 luaK_codeABC(fs, OP_RETURN, 0, 1, 0); /* final return */ 338 luaK_codeABC(fs, OP_RETURN, 0, 1, 0); /* final return */
339 luaM_reallocvector(L, f->code, f->sizecode, fs->pc, Instruction); 339 luaM_reallocvector(L, f->code, f->sizecode, fs->pc, Instruction);
340 luaM_reallocvector(L, f->lineinfo, f->sizecode, fs->pc, int);
341 f->sizecode = fs->pc; 340 f->sizecode = fs->pc;
341 luaM_reallocvector(L, f->lineinfo, f->sizelineinfo, fs->pc, int);
342 f->sizelineinfo = fs->pc;
342 luaM_reallocvector(L, f->k, f->sizek, fs->nk, TObject); 343 luaM_reallocvector(L, f->k, f->sizek, fs->nk, TObject);
343 f->sizek = fs->nk; 344 f->sizek = fs->nk;
344 luaM_reallocvector(L, f->p, f->sizep, fs->np, Proto *); 345 luaM_reallocvector(L, f->p, f->sizep, fs->np, Proto *);