From 1b6009d17b8708b07109975f4458c4025d727b19 Mon Sep 17 00:00:00 2001 From: Graham Percival Date: Sun, 6 Apr 2025 00:26:53 -0700 Subject: [PATCH] Use explicit casts for some functions (#2480) --- libarchive/archive_disk_acl_freebsd.c | 4 ++-- libarchive/archive_getdate.c | 3 ++- libarchive/archive_read_support_format_rar.c | 2 +- libarchive/archive_string.c | 8 ++++---- libarchive/test/test_acl_platform_nfs4.c | 2 +- libarchive/test/test_archive_string_conversion.c | 4 ++-- unzip/bsdunzip.c | 2 +- 7 files changed, 13 insertions(+), 12 deletions(-) diff --git a/libarchive/archive_disk_acl_freebsd.c b/libarchive/archive_disk_acl_freebsd.c index ed4e7a789..2fbdb17aa 100644 --- a/libarchive/archive_disk_acl_freebsd.c +++ b/libarchive/archive_disk_acl_freebsd.c @@ -262,7 +262,7 @@ translate_acl(struct archive_read_disk *a, } for (i = 0; i < acl_nfs4_flag_map_size; ++i) { r = acl_get_flag_np(acl_flagset, - acl_nfs4_flag_map[i].p_perm); + (acl_flag_t)acl_nfs4_flag_map[i].p_perm); if (r == -1) { archive_set_error(&a->archive, errno, "Failed to check flag in a NFSv4 " @@ -517,7 +517,7 @@ set_acl(struct archive *a, int fd, const char *name, for (i = 0; i < acl_nfs4_flag_map_size; ++i) { if (ae_permset & acl_nfs4_flag_map[i].a_perm) { if (acl_add_flag_np(acl_flagset, - acl_nfs4_flag_map[i].p_perm) != 0) { + (acl_flag_t)acl_nfs4_flag_map[i].p_perm) != 0) { archive_set_error(a, errno, "Failed to add flag to " "NFSv4 ACL flagset"); diff --git a/libarchive/archive_getdate.c b/libarchive/archive_getdate.c index 69eebb0a0..bf387ac69 100644 --- a/libarchive/archive_getdate.c +++ b/libarchive/archive_getdate.c @@ -861,7 +861,8 @@ nexttoken(const char **in, time_t *value) && i < sizeof(buff)-1) { if (*src != '.') { if (isupper((unsigned char)*src)) - buff[i++] = tolower((unsigned char)*src); + buff[i++] = (char)tolower( + (unsigned char)*src); else buff[i++] = *src; } diff --git a/libarchive/archive_read_support_format_rar.c b/libarchive/archive_read_support_format_rar.c index 9d155c66d..b4e61f6d9 100644 --- a/libarchive/archive_read_support_format_rar.c +++ b/libarchive/archive_read_support_format_rar.c @@ -2933,7 +2933,7 @@ expand(struct archive_read *a, int64_t *end) if (symbol < 256) { - lzss_emit_literal(rar, symbol); + lzss_emit_literal(rar, (uint8_t)symbol); continue; } else if (symbol == 256) diff --git a/libarchive/archive_string.c b/libarchive/archive_string.c index 8ab3b994b..a996334d6 100644 --- a/libarchive/archive_string.c +++ b/libarchive/archive_string.c @@ -2634,7 +2634,7 @@ unicode_to_utf16be(char *p, size_t remaining, uint32_t uc) } else { if (remaining < 2) return (0); - archive_be16enc(utf16, uc); + archive_be16enc(utf16, (uint16_t)uc); return (2); } } @@ -2656,7 +2656,7 @@ unicode_to_utf16le(char *p, size_t remaining, uint32_t uc) } else { if (remaining < 2) return (0); - archive_le16enc(utf16, uc); + archive_le16enc(utf16, (uint16_t)uc); return (2); } } @@ -3825,9 +3825,9 @@ best_effort_strncat_to_utf16(struct archive_string *as16, const void *_p, ret = -1; } if (bigendian) - archive_be16enc(utf16, c); + archive_be16enc(utf16, (uint16_t)c); else - archive_le16enc(utf16, c); + archive_le16enc(utf16, (uint16_t)c); utf16 += 2; } as16->length = utf16 - as16->s; diff --git a/libarchive/test/test_acl_platform_nfs4.c b/libarchive/test/test_acl_platform_nfs4.c index 6e19bca4f..bcd897431 100644 --- a/libarchive/test/test_acl_platform_nfs4.c +++ b/libarchive/test/test_acl_platform_nfs4.c @@ -424,7 +424,7 @@ acl_flagset_to_bitmap(acl_flagset_t opaque_fs) #if ARCHIVE_ACL_SUNOS_NFS4 || ARCHIVE_ACL_LIBRICHACL if (flags & perms[i].machine) #else - if (acl_get_flag_np(opaque_fs, perms[i].machine)) + if (acl_get_flag_np(opaque_fs, (acl_flag_t)perms[i].machine)) #endif flagset |= perms[i].portable; return flagset; diff --git a/libarchive/test/test_archive_string_conversion.c b/libarchive/test/test_archive_string_conversion.c index 67e9b762a..12976f3e7 100644 --- a/libarchive/test/test_archive_string_conversion.c +++ b/libarchive/test/test_archive_string_conversion.c @@ -91,7 +91,7 @@ unicode_to_utf16be(char *p, uint32_t uc) archive_be16enc(utf16+2, (uc & 0x3ff) + 0xDC00); return (4); } else { - archive_be16enc(utf16, uc); + archive_be16enc(utf16, (uint16_t)uc); return (2); } } @@ -118,7 +118,7 @@ unicode_to_utf16le(char *p, uint32_t uc) archive_le16enc(utf16+2, (uc & 0x3ff) + 0xDC00); return (4); } else { - archive_le16enc(utf16, uc); + archive_le16enc(utf16, (uint16_t)uc); return (2); } } diff --git a/unzip/bsdunzip.c b/unzip/bsdunzip.c index 4a9028b79..f2bd14356 100644 --- a/unzip/bsdunzip.c +++ b/unzip/bsdunzip.c @@ -233,7 +233,7 @@ pathdup(const char *path) } if (L_opt) { for (i = 0; i < len; ++i) - str[i] = tolower((unsigned char)path[i]); + str[i] = (char)tolower((unsigned char)path[i]); } else { memcpy(str, path, len); } -- 2.47.2