diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2024-09-10 11:34:42 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2024-09-10 11:34:42 -0300 |
commit | 9f0c0fe0de64bc41efea73a2da881ff0a1036a03 (patch) | |
tree | 684f2919e50ad8793542e556576907140c544aee /lparser.c | |
parent | 782ef85b22f89d1cd1ab083202f018668d26e4b0 (diff) | |
download | lua-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.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -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; |