This must be a 64 bit computation for disks larger than 4GB.

* This closes ticket #8460.
* Patch from jahaiku, thanks!
This commit is contained in:
Axel Dörfler 2012-04-15 13:28:16 +02:00
parent 3af8da0ef8
commit 6ea60bcdba
1 changed files with 4 additions and 4 deletions

View File

@ -65,8 +65,8 @@ iterative_io_get_vecs_hook(void* cookie, io_request* request, off_t offset,
{
iso9660_inode* node = (iso9660_inode*)cookie;
vecs->offset = offset + node->startLBN[FS_DATA_FORMAT]
* node->volume->logicalBlkSize[FS_DATA_FORMAT];
vecs->offset = offset + ((off_t)node->startLBN[FS_DATA_FORMAT]
* (off_t)node->volume->logicalBlkSize[FS_DATA_FORMAT]);
vecs->length = size;
*_count = 1;
@ -439,8 +439,8 @@ fs_read_pages(fs_volume* _volume, fs_vnode* _node, void* _cookie, off_t pos,
}
file_io_vec fileVec;
fileVec.offset = pos + node->startLBN[FS_DATA_FORMAT]
* volume->logicalBlkSize[FS_DATA_FORMAT];
fileVec.offset = pos + ((off_t)node->startLBN[FS_DATA_FORMAT]
* (off_t)volume->logicalBlkSize[FS_DATA_FORMAT]);
fileVec.length = bytesLeft;
uint32 vecIndex = 0;