FIX: Zip - Don't set attributes when extract symbolic links (fixes #1393)

This commit is contained in:
Alexander Koblov 2023-12-16 14:39:57 +03:00
commit be9ccaa59e
2 changed files with 10 additions and 5 deletions

View file

@ -2216,8 +2216,11 @@ begin
end;
end;
end;
AbSetFileTime(UseName, CurItem.LastModTimeAsDateTime);
AbSetFileAttr(UseName, CurItem.NativeFileAttributes);
if (CurItem.Mode and $F000) <> AB_FMODE_FILELINK then
begin
AbSetFileTime(UseName, CurItem.LastModTimeAsDateTime);
AbSetFileAttr(UseName, CurItem.NativeFileAttributes);
end;
end;
procedure TAbTarArchive.ExtractItemToStreamAt(Index: Integer;

View file

@ -1239,9 +1239,11 @@ begin
InStream.Free
end;
end;
AbSetFileTime(UseName, Item.LastModTimeAsDateTime);
AbSetFileAttr(UseName, Item.NativeFileAttributes);
if not FPS_ISLNK(Item.NativeFileAttributes) then
begin
AbSetFileTime(UseName, Item.LastModTimeAsDateTime);
AbSetFileAttr(UseName, Item.NativeFileAttributes);
end;
end;
{ -------------------------------------------------------------------------- }
procedure AbTestZipItem(Sender : TObject; Item : TAbZipItem);