diff options
| author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2021-09-22 13:10:39 -0300 |
|---|---|---|
| committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2021-09-22 13:10:39 -0300 |
| commit | deac067ed39a44c001599c0d15de09872496b2aa (patch) | |
| tree | d7373651e7d54a8ca5ffa4841379a4d9149164aa /testes/utf8.lua | |
| parent | 2ff34717227b8046b0fdcb96206f11f5e888664e (diff) | |
| download | lua-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.lua | 6 |
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) | ||
| 115 | end | 121 | end |
| 116 | 122 | ||
| 117 | -- error in initial position for offset | 123 | -- error in initial position for offset |
