aboutsummaryrefslogtreecommitdiff
path: root/lparser.c
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2024-09-10 11:34:42 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2024-09-10 11:34:42 -0300
commit9f0c0fe0de64bc41efea73a2da881ff0a1036a03 (patch)
tree684f2919e50ad8793542e556576907140c544aee /lparser.c
parent782ef85b22f89d1cd1ab083202f018668d26e4b0 (diff)
downloadlua-9f0c0fe0de64bc41efea73a2da881ff0a1036a03.tar.gz
lua-9f0c0fe0de64bc41efea73a2da881ff0a1036a03.tar.bz2
lua-9f0c0fe0de64bc41efea73a2da881ff0a1036a03.zip
Bug: Wrong limit for local variables in 16-bit systems
USHRT_MAX does not fit in an 'int' in 16-bit systems.
Diffstat (limited to 'lparser.c')
-rw-r--r--lparser.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lparser.c b/lparser.c
index 2b888c7c..aebddaf7 100644
--- a/lparser.c
+++ b/lparser.c
@@ -198,7 +198,7 @@ static int new_localvar (LexState *ls, TString *name) {
198 checklimit(fs, dyd->actvar.n + 1 - fs->firstlocal, 198 checklimit(fs, dyd->actvar.n + 1 - fs->firstlocal,
199 MAXVARS, "local variables"); 199 MAXVARS, "local variables");
200 luaM_growvector(L, dyd->actvar.arr, dyd->actvar.n + 1, 200 luaM_growvector(L, dyd->actvar.arr, dyd->actvar.n + 1,
201 dyd->actvar.size, Vardesc, USHRT_MAX, "local variables"); 201 dyd->actvar.size, Vardesc, SHRT_MAX, "local variables");
202 var = &dyd->actvar.arr[dyd->actvar.n++]; 202 var = &dyd->actvar.arr[dyd->actvar.n++];
203 var->vd.kind = VDKREG; /* default */ 203 var->vd.kind = VDKREG; /* default */
204 var->vd.name = name; 204 var->vd.name = name;