]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
Use __LA_MODE_T to avoid implicit int conversions (#2478)
authorGraham Percival <gperciva@tarsnap.com>
Sun, 6 Apr 2025 21:13:17 +0000 (14:13 -0700)
committerGitHub <noreply@github.com>
Sun, 6 Apr 2025 21:13:17 +0000 (14:13 -0700)
libarchive/archive_read_support_format_7zip.c
libarchive/archive_read_support_format_iso9660.c
libarchive/archive_read_support_format_rar.c
libarchive/archive_write_set_format_pax.c
libarchive/test/test_write_format_zip64_stream.c
libarchive/test/test_write_format_zip_file.c
libarchive/test/test_write_format_zip_file_zip64.c
libarchive/test/test_write_format_zip_stream.c

index a4f08e097dd3ec43476ffbd117beef32065650c1..0af3d893287a65dbda94ca5d6cd15c464817fd2a 100644 (file)
@@ -233,7 +233,7 @@ struct _7zip_entry {
        uint32_t                 mtime_ns;
        uint32_t                 atime_ns;
        uint32_t                 ctime_ns;
-       uint32_t                 mode;
+       __LA_MODE_T              mode;
        uint32_t                 attr;
 };
 
index 7d3655a951e6cc0e7ecf3ce08863a0c47feacaeb..1635228d5071e7c48facf81248f45acca7b00831 100644 (file)
@@ -2273,7 +2273,7 @@ parse_rockridge(struct archive_read *a, struct file_info *file,
                                if (version == 1) {
                                        if (data_length >= 8)
                                                file->mode
-                                                   = toi(data, 4);
+                                                   = (__LA_MODE_T)toi(data, 4);
                                        if (data_length >= 16)
                                                file->nlinks
                                                    = toi(data + 8, 4);
index b4e61f6d957f4226928a5396709d38fd23bfd225..0185201d0ba285c3a8e7a23985f727f2eb63b55f 100644 (file)
@@ -1753,7 +1753,7 @@ read_header(struct archive_read *a, struct archive_entry *entry,
   case OS_MSDOS:
   case OS_OS2:
   case OS_WIN32:
-    rar->mode = archive_le32dec(file_header.file_attr);
+    rar->mode = (__LA_MODE_T)archive_le32dec(file_header.file_attr);
     if (rar->mode & FILE_ATTRIBUTE_DIRECTORY)
       rar->mode = AE_IFDIR | S_IXUSR | S_IXGRP | S_IXOTH;
     else
@@ -1764,7 +1764,7 @@ read_header(struct archive_read *a, struct archive_entry *entry,
   case OS_UNIX:
   case OS_MAC_OS:
   case OS_BEOS:
-    rar->mode = archive_le32dec(file_header.file_attr);
+    rar->mode = (__LA_MODE_T)archive_le32dec(file_header.file_attr);
     break;
 
   default:
index 6e35f705e136d35633238ce99f0985b5137019d6..0db453446b7c399f543053a77c5e12a9fa8c2004 100644 (file)
@@ -1414,7 +1414,7 @@ archive_write_pax_header(struct archive_write *a,
                struct archive_entry *pax_attr_entry;
                time_t s;
                int64_t uid, gid;
-               int mode;
+               __LA_MODE_T mode;
 
                pax_attr_entry = archive_entry_new2(&a->archive);
                p = entry_name.s;
index 1d8f1ff7f33f38e9dc4affb15fd2bf291672f94f..423e30d9e55c8548d0406d1881525f6d0a73cf95 100644 (file)
@@ -38,7 +38,7 @@ DEFINE_TEST(test_write_format_zip64_stream)
        size_t used, buffsize = 1000000;
        unsigned long crc;
        unsigned long compressed_size = 0;
-       int file_perm = 00644;
+       __LA_MODE_T file_perm = 00644;
        int zip_version = 45;
        int zip_compression = 8;
        short file_uid = 10, file_gid = 20;
index e5314b078e856c627233018bc2855abd237cbaca..c4d2b544bf604448ad6e4bab7f7355b5ec4614cc 100644 (file)
@@ -46,7 +46,7 @@ DEFINE_TEST(test_write_format_zip_file)
 #endif
        size_t used, buffsize = 1000000;
        unsigned long crc;
-       int file_perm = 00644;
+       __LA_MODE_T file_perm = 00644;
        int zip_version = 20;
        int zip_compression = 8;
        short file_uid = 10, file_gid = 20;
index 28b22a4facf5597a2d7b5bf1fcbba76d1b46f86a..e969c9ec59ac28227ff5a9d03670e173f6ec4611 100644 (file)
@@ -46,7 +46,7 @@ DEFINE_TEST(test_write_format_zip_file_zip64)
 #endif
        size_t used, buffsize = 1000000;
        unsigned long crc;
-       int file_perm = 00644;
+       __LA_MODE_T file_perm = 00644;
        int zip_version = 45;
        int zip_compression = 8;
        short file_uid = 10, file_gid = 20;
index e67d2b8dae4a41a63578671c5037507357216022..511044243418040643e5a62aba1c259df0a072c2 100644 (file)
@@ -38,7 +38,7 @@ DEFINE_TEST(test_write_format_zip_stream)
        size_t used, buffsize = 1000000;
        unsigned long crc;
        unsigned long compressed_size = 0;
-       int file_perm = 00644;
+       __LA_MODE_T file_perm = 00644;
 #ifdef HAVE_ZLIB_H
        int zip_version = 20;
 #else