aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>2005-05-15 22:31:35 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>2005-05-15 22:31:35 +0000
commit5595de0fa4128e01fb9cd733f29b1995568da927 (patch)
tree55d010dbf926aa46b6092cd4ca87f38dc99d2712 /gcc
parent3b523c85c16e70cf883f533b8092de5780eda396 (diff)
downloadgcc-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/ChangeLog4
-rw-r--r--gcc/testsuite/lib/compat.exp13
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