diff --git a/kernel/kernel/FS/Ext2/Inode.cpp b/kernel/kernel/FS/Ext2/Inode.cpp index 91c900df..d676ef6c 100644 --- a/kernel/kernel/FS/Ext2/Inode.cpp +++ b/kernel/kernel/FS/Ext2/Inode.cpp @@ -64,7 +64,9 @@ namespace Kernel const uint32_t indices_per_block = blksize() / sizeof(uint32_t); - const uint32_t divisor = (depth > 1) ? indices_per_block * (depth - 1) : 1; + uint32_t divisor = 1; + for (uint32_t i = 1; i < depth; i++) + divisor *= indices_per_block; const uint32_t next_block = block_buffer.span().as_span()[(index / divisor) % indices_per_block]; if (next_block == 0)