diff options
author | sebres <sebres@users.sourceforge.net> | 2018-07-26 16:46:47 (GMT) |
---|---|---|
committer | sebres <sebres@users.sourceforge.net> | 2018-07-26 16:46:47 (GMT) |
commit | 6b1c70bdd2299bba260caf60cb588193f30c52bf (patch) | |
tree | 0c28a948c45840dbffb61f6a4cfad696c97dd367 /tests/format.test | |
parent | 3d70a8e7c0507bf3b8d5edde7b8e41aececdaec1 (diff) | |
download | tcl-6b1c70bdd2299bba260caf60cb588193f30c52bf.zip tcl-6b1c70bdd2299bba260caf60cb588193f30c52bf.tar.gz tcl-6b1c70bdd2299bba260caf60cb588193f30c52bf.tar.bz2 |
test cases added to cover width overflow by format (should cause limit exceeded)
Diffstat (limited to 'tests/format.test')
-rw-r--r-- | tests/format.test | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/format.test b/tests/format.test index d43b7eb..5797f2b 100644 --- a/tests/format.test +++ b/tests/format.test @@ -565,6 +565,20 @@ test format-19.3 {Bug 2830354} { string length [format %340f 0] } 340 +test format-19.4.1 {Bug d498578df4: width overflow should cause limit exceeded} \ +-constraints {longIs32bit} -body { + # in case of overflow into negative, it produces width -2 (and limit exceeded), + # in case of width will be unsigned, it will be outside limit (2GB for 32bit)... + # and it don't throw an error in case the bug is not fixed (and probably no segfault). + format %[expr {0xffffffff - 1}]g 0 +} -returnCodes error -result "max size for a Tcl value exceeded" + +test format-19.4.2 {Bug d498578df4: width overflow should cause limit exceeded} -body { + # limit should exceeds in any case, + # and it don't throw an error in case the bug is not fixed (and probably no segfault). + format %[expr {0xffffffffffffffff - 1}]g 0 +} -returnCodes error -result "max size for a Tcl value exceeded" + # cleanup catch {unset a} catch {unset b} |