aboutsummaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorShawn O. Pearce <spearce@spearce.org>2007-05-07 21:13:40 -0400
committerShawn O. Pearce <spearce@spearce.org>2007-05-07 21:13:40 -0400
commitd966e6aa66d397908b4fbf69cef2e2da88737321 (patch)
tree554d22cc5fb86410a8197074ebd67f037cce5634 /contrib
parent53a58245863eff3d70aaa3ac75d7d57e843fc91d (diff)
downloadgit-d966e6aa66d397908b4fbf69cef2e2da88737321.tar.gz
git-d966e6aa66d397908b4fbf69cef2e2da88737321.tar.xz
Properly handle '0' filenames in import-tars
Randal L. Schwartz pointed out multiple times that we should be testing the length of the name string here, not if it is "true". The problem is the string '0' is actually false in Perl when we try to evaluate it in this context, as '0' is 0 numerically and the number 0 is treated as a false value. This would cause us to break out of the import loop early if anyone had a file or directory named "0". Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Diffstat (limited to 'contrib')
-rwxr-xr-xcontrib/fast-import/import-tars.perl2
1 files changed, 1 insertions, 1 deletions
diff --git a/contrib/fast-import/import-tars.perl b/contrib/fast-import/import-tars.perl
index e46492048..f0b9a43ab 100755
--- a/contrib/fast-import/import-tars.perl
+++ b/contrib/fast-import/import-tars.perl
@@ -51,7 +51,7 @@ foreach my $tar_file (@ARGV)
$prefix) = unpack 'Z100 Z8 Z8 Z8 Z12 Z12
Z8 Z1 Z100 Z6
Z2 Z32 Z32 Z8 Z8 Z*', $_;
- last unless $name;
+ last unless length($name);
if ($name eq '././@LongLink') {
# GNU tar extension
if (read(I, $_, 512) != 512) {