65fa937be7
Resolves: #866467
21 lines
489 B
Diff
21 lines
489 B
Diff
diff --git a/src/tar.c b/src/tar.c
|
|
index 97d74bc..6de8961 100644
|
|
--- a/src/tar.c
|
|
+++ b/src/tar.c
|
|
@@ -48,10 +48,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;
|
|
}
|