diff options
author | Mark Mitchell <mark@codesourcery.com> | 2005-05-15 22:31:35 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 2005-05-15 22:31:35 +0000 |
commit | 5595de0fa4128e01fb9cd733f29b1995568da927 (patch) | |
tree | 55d010dbf926aa46b6092cd4ca87f38dc99d2712 /gcc | |
parent | 3b523c85c16e70cf883f533b8092de5780eda396 (diff) | |
download | gcc-5595de0fa4128e01fb9cd733f29b1995568da927.zip gcc-5595de0fa4128e01fb9cd733f29b1995568da927.tar.gz gcc-5595de0fa4128e01fb9cd733f29b1995568da927.tar.bz2 |
* lib/compat.exp (compat-execute): Do not use regsub unsafely.
From-SVN: r99747
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/lib/compat.exp | 13 |
2 files changed, 15 insertions, 2 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 9e23938..9f9458e 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2005-05-15 Mark Mitchell <mark@codesourcery.com> + + * lib/compat.exp (compat-execute): Do not use regsub unsafely. + 2005-05-15 Jerry DeLisle <jvdelisle@verizon.net> PR fortran/17432 diff --git a/gcc/testsuite/lib/compat.exp b/gcc/testsuite/lib/compat.exp index 79f6f15..def6f26 100644 --- a/gcc/testsuite/lib/compat.exp +++ b/gcc/testsuite/lib/compat.exp @@ -279,8 +279,17 @@ proc compat-execute { src1 sid use_alt } { regsub "sid" "sid_y_alt.o" $sid obj3_alt # Get the base name of this test, for use in messages. - regsub "^$srcdir/?" $src1 "" testcase - regsub "^$tmpdir/?" $testcase "tmpdir-" testcase + set testcase "$src1" + # Remove the $srcdir and $tmpdir prefixes from $src1. (It would + # be possible to use "regsub" here, if we were careful to escape + # all regular expression characters in $srcdir and $tmpdir, but + # that would be more complicated that this approach.) + if {[string first "$srcdir/" "$src1"] == 0} { + set testcase [string range "$src1" [string length "$srcdir/"] end] + } + if {[string first "$tmpdir/" "$src1"] == 0} { + set testcase [string range "$src1" [string length "$tmpdir/"] end] + } regsub "_main.*" $testcase "" testcase # Set up the base name of executable files so they'll be unique. regsub -all "\[./\]" $testcase "-" execbase |