diff --git a/src/add-ons/kernel/file_systems/bfs/Inode.cpp b/src/add-ons/kernel/file_systems/bfs/Inode.cpp index 5540b07a7f..c5e92c2949 100644 --- a/src/add-ons/kernel/file_systems/bfs/Inode.cpp +++ b/src/add-ons/kernel/file_systems/bfs/Inode.cpp @@ -1491,11 +1491,11 @@ Inode::FindBlockRun(off_t pos, block_run& run, off_t& offset) if (indirect[current].IsZero()) break; - runBlockEnd += indirect[current].Length() + runBlockEnd += (uint32)indirect[current].Length() << cached.BlockShift(); if (runBlockEnd > pos) { run = indirect[current]; - offset = runBlockEnd - (run.Length() + offset = runBlockEnd - ((uint32)run.Length() << cached.BlockShift()); return fVolume->ValidateBlockRun(run); }