Thanks, I installed the attached patch.
From 3e77cc87c25e65782ecd5884f68cc6bf805322eb Mon Sep 17 00:00:00 2001
From: Nathan Stratton Treadway <[email protected]>
Date: Sat, 28 Jun 2014 23:57:37 -0700
Subject: [PATCH] tar: document xgetcwd test case better
* src/misc.c (normalize_filename): Add commentary for clarity.
* tests/extrac09.at: Retitle test case and add comments for clarity.
---
src/misc.c | 3 ++-
tests/extrac09.at | 18 ++++++++++++++----
2 files changed, 16 insertions(+), 5 deletions(-)
diff --git a/src/misc.c b/src/misc.c
index cc2fef8..8e66643 100644
--- a/src/misc.c
+++ b/src/misc.c
@@ -288,7 +288,8 @@ normalize_filename (int cdidx, const char *name)
this following approach may lead to situations where the same
file or directory is processed twice under different absolute
paths without that duplication being detected. Perhaps we
- should use dev+ino pairs instead of names? */
+ should use dev+ino pairs instead of names? (See listed03.at for
+ a related test case.) */
const char *cdpath = tar_getcdpath (cdidx);
size_t copylen;
bool need_separator;
diff --git a/tests/extrac09.at b/tests/extrac09.at
index d9e2a4b..b7218ef 100644
--- a/tests/extrac09.at
+++ b/tests/extrac09.at
@@ -18,10 +18,20 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# This checks for the --listed-incremental bug reported by J Chapman Flack at
-# http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
-
-AT_SETUP([no need to save dir with unreadable . and ..])
+# This attempts to cause xgetcwd() to fail, and then checks to see if
+# such failure causes tar to abort even in a case where the results of
+# the call aren't actually needed.
+#
+# (xgetcwd() may fail e.g. on Solaris 10 when "." or ".." are unreadable.
+# On most systems xgetcwd() won't fail even in that situation, but
+# on those systems this test will simply succeed without actually testing
+# anything within tar.)
+#
+# http://lists.gnu.org/archive/html/bug-tar/2010-07/msg00045.html
+#
+# (See also 'listed03.at'.)
+
+AT_SETUP([extracting even when . and .. are unreadable])
AT_KEYWORDS([extract extrac09])
AT_TAR_CHECK([
--
1.9.3