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.
41 lines
1.5 KiB
41 lines
1.5 KiB
From afef3d7fc131df0dac09a46b8673898860a193db Mon Sep 17 00:00:00 2001 |
|
From: Zdenek Zambersky <zzambers@redhat.com> |
|
Date: Tue, 11 Jan 2022 14:43:27 +0100 |
|
Subject: [PATCH] Fixed size filed in pax header |
|
|
|
--- |
|
libarchive/archive_write_set_format_pax.c | 10 +++++++--- |
|
1 file changed, 7 insertions(+), 3 deletions(-) |
|
|
|
diff --git a/libarchive/archive_write_set_format_pax.c b/libarchive/archive_write_set_format_pax.c |
|
index a2b27107..52911491 100644 |
|
--- a/libarchive/archive_write_set_format_pax.c |
|
+++ b/libarchive/archive_write_set_format_pax.c |
|
@@ -1028,10 +1028,8 @@ archive_write_pax_header(struct archive_write *a, |
|
archive_string_init(&entry_name); |
|
archive_strcpy(&entry_name, archive_entry_pathname(entry_main)); |
|
|
|
- /* If file size is too large, add 'size' to pax extended attrs. */ |
|
+ /* If file size is too large, we need pax extended attrs. */ |
|
if (archive_entry_size(entry_main) >= (((int64_t)1) << 33)) { |
|
- add_pax_attr_int(&(pax->pax_header), "size", |
|
- archive_entry_size(entry_main)); |
|
need_extension = 1; |
|
} |
|
|
|
@@ -1347,6 +1345,12 @@ archive_write_pax_header(struct archive_write *a, |
|
mapsize + pax->sparse_map_padding + sparse_total); |
|
} |
|
|
|
+ /* If file size is too large, add 'size' to pax extended attrs. */ |
|
+ if (archive_entry_size(entry_main) >= (((int64_t)1) << 33)) { |
|
+ add_pax_attr_int(&(pax->pax_header), "size", |
|
+ archive_entry_size(entry_main)); |
|
+ } |
|
+ |
|
/* Format 'ustar' header for main entry. |
|
* |
|
* The trouble with file size: If the reader can't understand |
|
-- |
|
2.34.3 |
|
|
|
|