diff options
author | dkf <donal.k.fellows@manchester.ac.uk> | 2007-12-18 10:53:14 (GMT) |
---|---|---|
committer | dkf <donal.k.fellows@manchester.ac.uk> | 2007-12-18 10:53:14 (GMT) |
commit | d8deec65a9511d476698293a485ee7c721a003c7 (patch) | |
tree | 73535333530cb8bb79ed8d41856c01d0f6dc4fd0 /tests | |
parent | 296e1c32e596a9e2c73528c0aa67e7e76bb03778 (diff) | |
download | tcl-d8deec65a9511d476698293a485ee7c721a003c7.zip tcl-d8deec65a9511d476698293a485ee7c721a003c7.tar.gz tcl-d8deec65a9511d476698293a485ee7c721a003c7.tar.bz2 |
Fixes for problems created when processing regular expressions that
generate very large automata. An enormous number of thanks to Will
Drewry <wad@google.com>, Tavis Ormandy <taviso@google.com>, and Tom
Lane <tgl@sss.pgh.pa.us> from the Postgresql crowd for their help in
tracking these problems down. [Bug 1810264]
Diffstat (limited to 'tests')
-rw-r--r-- | tests/reg.test | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/tests/reg.test b/tests/reg.test index 40b8766..63d4d3d 100644 --- a/tests/reg.test +++ b/tests/reg.test @@ -9,7 +9,7 @@ # # Copyright (c) 1998, 1999 Henry Spencer. All rights reserved. # -# RCS: @(#) $Id: reg.test,v 1.23 2006/11/03 00:34:53 hobbs Exp $ +# RCS: @(#) $Id: reg.test,v 1.24 2007/12/18 10:53:16 dkf Exp $ if {[lsearch [namespace children] ::tcltest] == -1} { package require tcltest 2 @@ -1057,6 +1057,15 @@ test reg-33.11 {Bug 840258} { regsub {(^|[\n\r]+)\.*\?<.*?(\n|\r)+} \ "TQ\r\n.?<5000267>Test already stopped\r\n" {} tmp } 1 +test reg-33.12 {Bug 1810264 - bad read} { + regexp {\3161573148} {\3161573148} +} 0 +test reg-33.13 {Bug 1810264 - infinite loop} { + regexp {($|^)*} {x} +} 1 +test reg-33.14 {Bug 1810264 - super-expensive expression} { + regexp {(x{200}){200}$y} {x} +} 0 # cleanup ::tcltest::cleanupTests |