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 | c7cdc550c4e27c7ab0e3d4537cff99167b4509fd (patch) | |
tree | 0c28a948c45840dbffb61f6a4cfad696c97dd367 | |
parent | 7e727bed70653d181a190d921ea951707ad4078a (diff) | |
download | tcl-c7cdc550c4e27c7ab0e3d4537cff99167b4509fd.zip tcl-c7cdc550c4e27c7ab0e3d4537cff99167b4509fd.tar.gz tcl-c7cdc550c4e27c7ab0e3d4537cff99167b4509fd.tar.bz2 |
test cases added to cover width overflow by format (should cause limit exceeded)
-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} |