зеркало из https://github.com/microsoft/git.git
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>
This commit is contained in:
Родитель
53a5824586
Коммит
d966e6aa66
|
@ -51,7 +51,7 @@ foreach my $tar_file (@ARGV)
|
||||||
$prefix) = unpack 'Z100 Z8 Z8 Z8 Z12 Z12
|
$prefix) = unpack 'Z100 Z8 Z8 Z8 Z12 Z12
|
||||||
Z8 Z1 Z100 Z6
|
Z8 Z1 Z100 Z6
|
||||||
Z2 Z32 Z32 Z8 Z8 Z*', $_;
|
Z2 Z32 Z32 Z8 Z8 Z*', $_;
|
||||||
last unless $name;
|
last unless length($name);
|
||||||
if ($name eq '././@LongLink') {
|
if ($name eq '././@LongLink') {
|
||||||
# GNU tar extension
|
# GNU tar extension
|
||||||
if (read(I, $_, 512) != 512) {
|
if (read(I, $_, 512) != 512) {
|
||||||
|
|
Загрузка…
Ссылка в новой задаче