dce45e02bf
The content of this branch was automatically imported from Fedora ELN with the following as its source: https://src.fedoraproject.org/rpms/cpio#b2d7cef5976b300ce3f2580046e97b0124804777
28 lines
674 B
Diff
28 lines
674 B
Diff
From: Pavel Raiskup <praiskup@redhat.com>
|
|
Date: Mon, 14 Sep 2015 09:49:12 +0200
|
|
Subject: [PATCH 6/7] Fix for splitting long file names while creating ustar
|
|
archive
|
|
|
|
Resolves: #866467
|
|
|
|
diff --git a/src/tar.c b/src/tar.c
|
|
index a2ce171..e2b5f45 100644
|
|
--- a/src/tar.c
|
|
+++ b/src/tar.c
|
|
@@ -49,10 +49,12 @@ split_long_name (const char *name, size_t length)
|
|
{
|
|
size_t i;
|
|
|
|
- if (length > TARPREFIXSIZE)
|
|
- length = TARPREFIXSIZE+2;
|
|
+ if (length > TARPREFIXSIZE + 1)
|
|
+ length = TARPREFIXSIZE + 1;
|
|
+ else if (ISSLASH (name[length - 1]))
|
|
+ length--;
|
|
for (i = length - 1; i > 0; i--)
|
|
- if (name[i] == '/')
|
|
+ if (ISSLASH (name[i]))
|
|
break;
|
|
return i;
|
|
}
|