Browse Source

Attempt to extract a member with truncated file name from the archive.

Sergey Poznyakoff 19 years ago
parent
commit
53d1279719
1 changed files with 15 additions and 6 deletions
  1. 15 6
      tests/multiv03.at

+ 15 - 6
tests/multiv03.at

@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright (C) 2004,2005 Free Software Foundation, Inc.
+# Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -24,6 +24,8 @@
 # headers.
 # References: <[email protected]>
 # http://lists.gnu.org/archive/html/bug-tar/2004-08/msg00012.html
+# <[email protected]>
+# 
 
 AT_SETUP([MV archive & long filenames])
 AT_KEYWORDS([multivolume multiv multiv03])
@@ -34,24 +36,31 @@ BFILE=`awk 'BEGIN { for (i = 0; i < 101; i++) printf "b"; exit; }'`
 
 cat > ../experr <<EOF
 tar: $BFILE: file name too long to be stored in a GNU multivolume header, truncated
+tar: \`$BFILE' is possibly continued on this volume: header contains truncated name
 EOF
 
 cat > ../expout <<EOF
 $AFILE
-separator
+separator-1
+separator-2
 EOF
 
-genfile --length 15360 > $AFILE
+genfile --length 15360 --file $AFILE
 
 exec <&-
 
 tar -M -L 10 -c -f arch.1 -f arch.2 $AFILE || exit 1
 tar -tM -f arch.1 -f arch.2 || exit 1
 
-echo separator
+echo separator-1
 
-genfile --length 15360 > $BFILE
-tar -M -L 10 -c -f arch.1 -f arch.2 $BFILE 
+genfile --length 15360 --file $BFILE
+tar -M -L 10 -c -f arch.1 -f arch.2 $BFILE || exit 1
+
+echo separator-2
+mv $BFILE bfile
+tar -M -x -f arch.1 -f arch.2 || exit 1
+cmp $BFILE bfile
 ],
 [0],
 [expout],