int32_t sec_position, mini_sec_position, count, current_sector;
int32_t byte_offset, mini_fat_persector;
- if (header->get_mini_sector_size() <= 0)
+ if (header->get_mini_sector_size() == 0)
return -1;
+
mini_fat_persector = header->get_sector_size() / header->get_mini_sector_size();
if (sec_id >= mini_fat_persector)
return;
}
visited_mini_sectors.insert(mini_sector);
- byte_offset = get_mini_fat_offset(mini_sector);
- if (byte_offset == -1 || byte_offset > buf_len)
+ int32_t check_offset = get_mini_fat_offset(mini_sector);
+ if (check_offset < 0 || static_cast<uint32_t>(check_offset) > buf_len)
return;
+ byte_offset = static_cast<uint32_t>(check_offset);
+
+
bytes_to_copy = find_bytes_to_copy(byte_offset, data_len,
stream_size, mini_sector_size);