You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
674 B
28 lines
674 B
2 years ago
|
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;
|
||
|
}
|