]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
write: Use uint64_t for __archive_write_nulls 3309/head
authorTobias Stoeckmann <tobias@stoeckmann.org>
Sun, 19 Jul 2026 20:56:35 +0000 (22:56 +0200)
committerTobias Stoeckmann <tobias@stoeckmann.org>
Sun, 19 Jul 2026 21:08:26 +0000 (23:08 +0200)
Even though int64_t would be the correct data type because no more data
than INT64_MAX can be written, use the easier solution for format
writers for now.

Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
libarchive/archive_write.c
libarchive/archive_write_private.h
libarchive/archive_write_set_format_cpio_binary.c
libarchive/archive_write_set_format_cpio_newc.c
libarchive/archive_write_set_format_cpio_odc.c
libarchive/archive_write_set_format_gnutar.c
libarchive/archive_write_set_format_pax.c
libarchive/archive_write_set_format_ustar.c
libarchive/archive_write_set_format_v7tar.c

index f0d14f520b6fab3abc5c4fcbc8cec830d26f186f..d6108635663236174bf01c14b9b4bb7f63effb48 100644 (file)
@@ -340,7 +340,7 @@ __archive_write_filters_flush(struct archive_write *a)
 }
 
 int
-__archive_write_nulls(struct archive_write *a, size_t length)
+__archive_write_nulls(struct archive_write *a, uint64_t length)
 {
        if (length == 0)
                return (ARCHIVE_OK);
index bd6ef5af0e542878fad803408a3e3dec092b7c33..ca9393fb8ea0daf88bbe72ac3b364f8ab482b0c5 100644 (file)
@@ -69,7 +69,7 @@ void __archive_write_filters_free(struct archive *);
 struct archive_write_filter *__archive_write_allocate_filter(struct archive *);
 
 int __archive_write_output(struct archive_write *, const void *, size_t);
-int __archive_write_nulls(struct archive_write *, size_t);
+int __archive_write_nulls(struct archive_write *, uint64_t);
 int __archive_write_filter(struct archive_write_filter *, const void *, size_t);
 
 struct archive_write {
index 552680d15d720a7e7c5eb116030f0a607fc68ece..7c86072d391ce35ecb012db1d6873ad074c40a31 100644 (file)
@@ -619,6 +619,5 @@ archive_write_binary_finish_entry(struct archive_write *a)
        struct cpio *cpio;
 
        cpio = (struct cpio *)a->format_data;
-       return (__archive_write_nulls(a,
-               (size_t)cpio->entry_bytes_remaining));
+       return (__archive_write_nulls(a, cpio->entry_bytes_remaining));
 }
index a065e0348263b4d589bdf408823d60e525e097f0..7dfbfa7d5502d7678c0a14cefffe0184db90c920 100644 (file)
@@ -458,5 +458,5 @@ archive_write_newc_finish_entry(struct archive_write *a)
 
        cpio = (struct cpio *)a->format_data;
        return (__archive_write_nulls(a,
-               (size_t)cpio->entry_bytes_remaining + cpio->padding));
+           cpio->entry_bytes_remaining + cpio->padding));
 }
index 1b723814255f52ccfc3d96a0462c118288c3af27..3082e060a6b1680b296d9f4a81e0966383cf949a 100644 (file)
@@ -508,6 +508,6 @@ archive_write_odc_finish_entry(struct archive_write *a)
        struct cpio *cpio;
 
        cpio = (struct cpio *)a->format_data;
-       return (__archive_write_nulls(a,
-               (size_t)cpio->entry_bytes_remaining));
+       return (__archive_write_nulls(a, 
+           cpio->entry_bytes_remaining));
 }
index 7bd015e540280bd3ae7ffdd7d8d465800c3b5458..3dd01e0ca2dbacbf15e8802ff84bedfddd084a16 100644 (file)
@@ -251,8 +251,8 @@ archive_write_gnutar_finish_entry(struct archive_write *a)
        int ret;
 
        gnutar = (struct gnutar *)a->format_data;
-       ret = __archive_write_nulls(a, (size_t)
-           (gnutar->entry_bytes_remaining + gnutar->entry_padding));
+       ret = __archive_write_nulls(a,
+           gnutar->entry_bytes_remaining + gnutar->entry_padding);
        gnutar->entry_bytes_remaining = gnutar->entry_padding = 0;
        return (ret);
 }
index baf467d59f485a9096ff2fb88cfd54a9a950f562..f76ff57245865f53759aabfc5f1036b824ac82a6 100644 (file)
@@ -1628,7 +1628,7 @@ archive_write_pax_header(struct archive_write *a,
                        return (ARCHIVE_FATAL);
                }
                /* Pad out the end of the entry. */
-               r = __archive_write_nulls(a, (size_t)pax->entry_padding);
+               r = __archive_write_nulls(a, pax->entry_padding);
                if (r != ARCHIVE_OK) {
                        /* If a write fails, we're pretty much toast. */
                        archive_entry_free(entry_main);
@@ -1996,7 +1996,7 @@ archive_write_pax_finish_entry(struct archive_write *a)
                        pax->sparse_list = sb;
                }
        }
-       ret = __archive_write_nulls(a, (size_t)(remaining + pax->entry_padding));
+       ret = __archive_write_nulls(a, remaining + pax->entry_padding);
        pax->entry_bytes_remaining = pax->entry_padding = 0;
        return (ret);
 }
index ac2196a2e3abc88f4a5ef965ecd73c0d299d9b95..d838f34c72c6478c475230cac8e06f1f560ba830 100644 (file)
@@ -751,7 +751,7 @@ archive_write_ustar_finish_entry(struct archive_write *a)
 
        ustar = (struct ustar *)a->format_data;
        ret = __archive_write_nulls(a,
-           (size_t)(ustar->entry_bytes_remaining + ustar->entry_padding));
+           ustar->entry_bytes_remaining + ustar->entry_padding);
        ustar->entry_bytes_remaining = ustar->entry_padding = 0;
        return (ret);
 }
index b1af2180736cd193bf49c379c30ab28dde1e79d8..3f7f3a03ecb4c317d5bd20dd68bf5de74d4f2a61 100644 (file)
@@ -631,7 +631,7 @@ archive_write_v7tar_finish_entry(struct archive_write *a)
 
        v7tar = (struct v7tar *)a->format_data;
        ret = __archive_write_nulls(a,
-           (size_t)(v7tar->entry_bytes_remaining + v7tar->entry_padding));
+           v7tar->entry_bytes_remaining + v7tar->entry_padding);
        v7tar->entry_bytes_remaining = v7tar->entry_padding = 0;
        return (ret);
 }