Ticket #8460: iso9660_fix.patch

File iso9660_fix.patch, 1.1 KB (added by jahaiku, 12 years ago)
  • src/add-ons/kernel/file_systems/iso9660/kernel_interface.cpp

    diff --git a/src/add-ons/kernel/file_systems/iso9660/kernel_interface.cpp b/src/add-ons/kernel/file_systems/iso9660/kernel_interface.cpp
    index abcc896..4ed83b5 100644
    a b iterative_io_get_vecs_hook(void* cookie, io_request* request, off_t offset,  
    6565{
    6666    iso9660_inode* node = (iso9660_inode*)cookie;
    6767
    68     vecs->offset = offset + node->startLBN[FS_DATA_FORMAT]
    69         * node->volume->logicalBlkSize[FS_DATA_FORMAT];
     68    vecs->offset = offset + ((off_t)node->startLBN[FS_DATA_FORMAT]
     69        * (off_t)node->volume->logicalBlkSize[FS_DATA_FORMAT]);
    7070    vecs->length = size;
    7171
    7272    *_count = 1;
    fs_read_pages(fs_volume* _volume, fs_vnode* _node, void* _cookie, off_t pos,  
    439439    }
    440440
    441441    file_io_vec fileVec;
    442     fileVec.offset = pos + node->startLBN[FS_DATA_FORMAT]
    443         * volume->logicalBlkSize[FS_DATA_FORMAT];
     442    fileVec.offset = pos + ((off_t)node->startLBN[FS_DATA_FORMAT]
     443        * (off_t)volume->logicalBlkSize[FS_DATA_FORMAT]);
    444444    fileVec.length = bytesLeft;
    445445
    446446    uint32 vecIndex = 0;