diff --git a/src/vfs/tar/tar-internal.h b/src/vfs/tar/tar-internal.h index 0ce75afd8..b9abab377 100644 --- a/src/vfs/tar/tar-internal.h +++ b/src/vfs/tar/tar-internal.h @@ -268,8 +268,8 @@ struct tar_stat_info gboolean is_sparse; /**< is the file sparse */ /* For sparse files */ - unsigned int sparse_major; - unsigned int sparse_minor; + intmax_t sparse_major; + intmax_t sparse_minor; GArray *sparse_map; /**< array of struct sp_array */ off_t real_size; /**< real size of sparse file */ diff --git a/src/vfs/tar/tar-xheader.c b/src/vfs/tar/tar-xheader.c index 41fc02828..ce70c26c2 100644 --- a/src/vfs/tar/tar-xheader.c +++ b/src/vfs/tar/tar-xheader.c @@ -772,7 +772,7 @@ sparse_major_decoder (struct tar_stat_info *st, const char *keyword, const char (void) size; - if (!decode_num (&u, arg, TYPE_MAXIMUM (unsigned), keyword)) + if (!decode_num (&u, arg, INTMAX_MAX, keyword)) return FALSE; st->sparse_major = u; @@ -788,7 +788,7 @@ sparse_minor_decoder (struct tar_stat_info *st, const char *keyword, const char (void) size; - if (!decode_num (&u, arg, TYPE_MAXIMUM (unsigned), keyword)) + if (!decode_num (&u, arg, INTMAX_MAX, keyword)) return FALSE; st->sparse_minor = u;