summaryrefslogtreecommitdiffstats
path: root/tests/reg.test
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2007-12-18 10:53:14 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2007-12-18 10:53:14 (GMT)
commitd8deec65a9511d476698293a485ee7c721a003c7 (patch)
tree73535333530cb8bb79ed8d41856c01d0f6dc4fd0 /tests/reg.test
parent296e1c32e596a9e2c73528c0aa67e7e76bb03778 (diff)
downloadtcl-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/reg.test')
-rw-r--r--tests/reg.test11
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