diff --git a/libisofs/fs_image.c b/libisofs/fs_image.c index 99c5f78..7f28458 100644 --- a/libisofs/fs_image.c +++ b/libisofs/fs_image.c @@ -4586,7 +4586,7 @@ int iso_analyze_sun(IsoImage *image, IsoDataSource *src, int flag) iso_read_msb(usad + 144, 2) != 0x10 || iso_read_msb(usad + 444, 4) != 0 || sai->image_size > 0x3fffffff || - iso_read_msb(usad + 448, 4) < sai->image_size * 4 - 600 || + iso_read_msb(usad + 448, 4) < ((int64_t) sai->image_size * 4) - 600 || iso_read_msb(usad + 448, 4) > sai->image_size * 4) return 0; checksum[0] = checksum[1] = 0;