diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2022-02-15 12:28:46 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2022-02-15 12:28:46 -0300 |
commit | 1f3c6f4534c6411313361697d98d1145a1f030fa (patch) | |
tree | 4fe12910861bced95a9349e6aedb03097837939c /lparser.c | |
parent | 25b143dd34fb587d1e35290c4b25bc08954800e2 (diff) | |
download | lua-1f3c6f4534c6411313361697d98d1145a1f030fa.tar.gz lua-1f3c6f4534c6411313361697d98d1145a1f030fa.tar.bz2 lua-1f3c6f4534c6411313361697d98d1145a1f030fa.zip |
Bug: Lua can generate wrong code when _ENV is <const>
Diffstat (limited to 'lparser.c')
-rw-r--r-- | lparser.c | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -468,6 +468,7 @@ static void singlevar (LexState *ls, expdesc *var) { | |||
468 | expdesc key; | 468 | expdesc key; |
469 | singlevaraux(fs, ls->envn, var, 1); /* get environment variable */ | 469 | singlevaraux(fs, ls->envn, var, 1); /* get environment variable */ |
470 | lua_assert(var->k != VVOID); /* this one must exist */ | 470 | lua_assert(var->k != VVOID); /* this one must exist */ |
471 | luaK_exp2anyregup(fs, var); /* but could be a constant */ | ||
471 | codestring(&key, varname); /* key is variable name */ | 472 | codestring(&key, varname); /* key is variable name */ |
472 | luaK_indexed(fs, var, &key); /* env[varname] */ | 473 | luaK_indexed(fs, var, &key); /* env[varname] */ |
473 | } | 474 | } |