unsigned cache_index;
struct grub_disk_cache *cache;
- sector &= ~(GRUB_DISK_CACHE_SIZE - 1);
+ sector &= ~((grub_disk_addr_t) GRUB_DISK_CACHE_SIZE - 1);
cache_index = grub_disk_cache_get_index (dev_id, disk_id, sector);
cache = grub_disk_cache_table + cache_index;
if (grub_disk_adjust_range (disk, §or, &offset, size) != GRUB_ERR_NONE)
return -1;
- aligned_sector = (sector & ~((1 << (disk->log_sector_size
- - GRUB_DISK_SECTOR_BITS)) - 1));
+ aligned_sector = (sector & ~((1ULL << (disk->log_sector_size
+ - GRUB_DISK_SECTOR_BITS)) - 1));
real_offset = offset + ((sector - aligned_sector) << GRUB_DISK_SECTOR_BITS);
sector = aligned_sector;
grub_size_t len;
grub_partition_t part;
- tmp_buf = grub_malloc (1 << disk->log_sector_size);
+ tmp_buf = grub_malloc (1U << disk->log_sector_size);
if (!tmp_buf)
return grub_errno;
part = disk->partition;
disk->partition = 0;
if (grub_disk_read (disk, sector,
- 0, (1 << disk->log_sector_size), tmp_buf)
+ 0, (1U << disk->log_sector_size), tmp_buf)
!= GRUB_ERR_NONE)
{
disk->partition = part;
}
disk->partition = part;
- len = (1 << disk->log_sector_size) - real_offset;
+ len = (1U << disk->log_sector_size) - real_offset;
if (len > size)
len = size;
grub_free (tmp_buf);
- sector += (1 << (disk->log_sector_size - GRUB_DISK_SECTOR_BITS));
+ sector += (1U << (disk->log_sector_size - GRUB_DISK_SECTOR_BITS));
buf = (const char *) buf + len;
size -= len;
real_offset = 0;
grub_size_t len;
grub_size_t n;
- len = size & ~((1 << disk->log_sector_size) - 1);
+ len = size & ~((1ULL << disk->log_sector_size) - 1);
n = size >> disk->log_sector_size;
if (n > (disk->max_agglomerate
while (n--)
{
grub_disk_cache_invalidate (disk->dev->id, disk->id, sector);
- sector += (1 << (disk->log_sector_size - GRUB_DISK_SECTOR_BITS));
+ sector += (1U << (disk->log_sector_size - GRUB_DISK_SECTOR_BITS));
}
buf = (const char *) buf + len;