aboutsummaryrefslogtreecommitdiff
path: root/testes/utf8.lua
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2021-09-22 13:10:39 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2021-09-22 13:10:39 -0300
commitdeac067ed39a44c001599c0d15de09872496b2aa (patch)
treed7373651e7d54a8ca5ffa4841379a4d9149164aa /testes/utf8.lua
parent2ff34717227b8046b0fdcb96206f11f5e888664e (diff)
downloadlua-deac067ed39a44c001599c0d15de09872496b2aa.tar.gz
lua-deac067ed39a44c001599c0d15de09872496b2aa.tar.bz2
lua-deac067ed39a44c001599c0d15de09872496b2aa.zip
Avoid overflows when incrementing parameters in C
Any C function can receive maxinteger as an integer argument, and therefore cannot increment it without some care (e.g., doing unsigned arithmetic as the core does).
Diffstat (limited to 'testes/utf8.lua')
-rw-r--r--testes/utf8.lua6
1 files changed, 6 insertions, 0 deletions
diff --git a/testes/utf8.lua b/testes/utf8.lua
index 6010d1ad..461e223c 100644
--- a/testes/utf8.lua
+++ b/testes/utf8.lua
@@ -112,6 +112,12 @@ do
112 end 112 end
113 errorcodes("ab\xff") 113 errorcodes("ab\xff")
114 errorcodes("\u{110000}") 114 errorcodes("\u{110000}")
115
116 -- calling interation function with invalid arguments
117 local f = utf8.codes("")
118 assert(f("", 2) == nil)
119 assert(f("", -1) == nil)
120 assert(f("", math.mininteger) == nil)
115end 121end
116 122
117-- error in initial position for offset 123-- error in initial position for offset