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