aboutsummaryrefslogtreecommitdiff
path: root/testes
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2023-11-01 12:00:54 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2023-11-01 12:00:54 -0300
commit7923dbbf72da303ca1cca17efd24725668992f15 (patch)
tree432b2455f3bbba12f53dc483e4479189782aac3b /testes
parent81e4fce5303fdb274bc5572fb168dd766fb8208e (diff)
downloadlua-7923dbbf72da303ca1cca17efd24725668992f15.tar.gz
lua-7923dbbf72da303ca1cca17efd24725668992f15.tar.bz2
lua-7923dbbf72da303ca1cca17efd24725668992f15.zip
Bug: Recursion in 'getobjname' can stack overflow
'getobjname' now broken in two, a basic version that handles locals, upvalues, and constants, and a full version, which uses the basic version to handle table accesses (globals and fields).
Diffstat (limited to '')
-rw-r--r--testes/errors.lua3
1 files changed, 3 insertions, 0 deletions
diff --git a/testes/errors.lua b/testes/errors.lua
index b777a329..01cfe906 100644
--- a/testes/errors.lua
+++ b/testes/errors.lua
@@ -121,6 +121,9 @@ assert(not string.find(doit"aaa={13}; local bbbb=1; aaa[bbbb](3)", "'bbbb'"))
121checkmessage("aaa={13}; local bbbb=1; aaa[bbbb](3)", "number") 121checkmessage("aaa={13}; local bbbb=1; aaa[bbbb](3)", "number")
122checkmessage("aaa=(1)..{}", "a table value") 122checkmessage("aaa=(1)..{}", "a table value")
123 123
124-- bug in 5.4.6
125checkmessage("a = {_ENV = {}}; print(a._ENV.x + 1)", "field 'x'")
126
124_G.aaa, _G.bbbb = nil 127_G.aaa, _G.bbbb = nil
125 128
126-- calls 129-- calls