Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
McNeight committed Apr 15, 2016
2 parents ed8c63a + b0e21aa commit 3fd4516
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 6 deletions.
2 changes: 1 addition & 1 deletion ICSharpCode.SharpZipLib/Tar/TarHeader.cs
Original file line number Diff line number Diff line change
Expand Up @@ -896,7 +896,7 @@ public static int GetNameBytes(string name, int nameOffset, byte[] buffer, int b

int i;

for (i = 0 ; i < length - 1 && nameOffset + i < name.Length; ++i) {
for (i = 0 ; i < length && nameOffset + i < name.Length; ++i) {
buffer[bufferOffset + i] = (byte)name[nameOffset + i];
}

Expand Down
11 changes: 6 additions & 5 deletions ICSharpCode.SharpZipLib/Tar/TarOutputStream.cs
Original file line number Diff line number Diff line change
Expand Up @@ -277,14 +277,15 @@ public void PutNextEntry(TarEntry entry)
throw new ArgumentNullException("entry");
}

if (entry.TarHeader.Name.Length >= TarHeader.NAMELEN) {
if (entry.TarHeader.Name.Length > TarHeader.NAMELEN) {
TarHeader longHeader = new TarHeader();
longHeader.TypeFlag = TarHeader.LF_GNU_LONGNAME;
longHeader.Name = longHeader.Name + "././@LongLink";
longHeader.UserId = 0;
longHeader.GroupId = 0;
longHeader.GroupName = "";
longHeader.UserName = "";
longHeader.Mode = 420;//644 by default
longHeader.UserId = entry.UserId;
longHeader.GroupId = entry.GroupId;
longHeader.GroupName = entry.GroupName;
longHeader.UserName = entry.UserName;
longHeader.LinkName = "";
longHeader.Size = entry.TarHeader.Name.Length + 1; // Plus one to avoid dropping last char

Expand Down

0 comments on commit 3fd4516

Please sign in to comment.