summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRalf Wildenhues <Ralf.Wildenhues@gmx.de>2007-11-30 08:53:38 +0100
committerJim Meyering <meyering@redhat.com>2007-11-30 08:53:38 +0100
commit688073771da95df0d7551b8361e264180bfffe5f (patch)
tree9d4391b5282a96ad4df3dc3e0b8e43b2886ff1ac
parent9962f24cc458e7d7588d4d043339823067aa3b83 (diff)
downloadcoreutils-688073771da95df0d7551b8361e264180bfffe5f.tar.xz
* tests/CuTmpdir.pm (END): Do not do the cleanup if $dir is not
defined, because it then goes wild and changes the mode of all directories below $HOME. Undefined $dir can happen if the test is to be skipped because of an unsafe working directory name.
-rw-r--r--ChangeLog7
-rw-r--r--tests/CuTmpdir.pm13
2 files changed, 15 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 38401db1d..8a080b1dc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2007-11-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * tests/CuTmpdir.pm (END): Do not do the cleanup if $dir is not
+ defined, because it then goes wild and changes the mode of all
+ directories below $HOME. Undefined $dir can happen if the test
+ is to be skipped because of an unsafe working directory name.
+
2007-11-28 Paul Eggert <eggert@cs.ucla.edu>
Close a file descriptor leak when cp --preserve=context fails.
diff --git a/tests/CuTmpdir.pm b/tests/CuTmpdir.pm
index f8d43d5ff..38bc7245e 100644
--- a/tests/CuTmpdir.pm
+++ b/tests/CuTmpdir.pm
@@ -64,11 +64,14 @@ sub wanted
END {
my $saved_errno = $?;
- chdir $dir
- or warn "$ME: failed to chdir to $dir: $!\n";
- # Perform the equivalent of find . -type d -print0|xargs -0 chmod -R 700.
- my $options = {untaint => 1, wanted => \&wanted};
- find ($options, '.');
+ if (defined $dir)
+ {
+ chdir $dir
+ or warn "$ME: failed to chdir to $dir: $!\n";
+ # Perform the equivalent of find . -type d -print0|xargs -0 chmod -R 700.
+ my $options = {untaint => 1, wanted => \&wanted};
+ find ($options, '.');
+ }
$? = $saved_errno;
}