size went from off_t in _display_targets to int in
add_transaction_sizes and back to off_t in humanize_size
leading to potential overflows.

Fixes FS#34616.

Signed-off-by: Andrew Gregory <[email protected]>
---
 src/pacman/util.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/pacman/util.c b/src/pacman/util.c
index 862c8e8..643b6fe 100644
--- a/src/pacman/util.c
+++ b/src/pacman/util.c
@@ -49,7 +49,7 @@
 
 struct table_row_t {
        const char *label;
-       int size;
+       off_t size;
 };
 
 int trans_init(alpm_transflag_t flags, int check_valid)
@@ -828,7 +828,7 @@ static alpm_list_t *create_verbose_row(pm_target_t *target)
        return ret;
 }
 
-static void add_transaction_sizes_row(alpm_list_t **table, const char *label, 
int size)
+static void add_transaction_sizes_row(alpm_list_t **table, const char *label, 
off_t size)
 {
        struct table_row_t *row = malloc(sizeof(struct table_row_t));
 
-- 
1.8.2


Reply via email to