Fix 64 bits Ext4 inode table offset calculation.

This commit is contained in:
Alessandro Gatti 2022-11-21 07:37:16 +01:00
parent 75ddd08bbd
commit e4ba4d62d0

View File

@ -130,7 +130,7 @@ public class Ext4Analyzer extends FileFormatAnalyzer {
monitor.checkCanceled();
long inodeTableBlockOffset = groupDescriptors[i].getBg_inode_table_lo() & 0xffffffffL;
if( is64Bit ) {
inodeTableBlockOffset = (groupDescriptors[i].getBg_inode_table_hi() << 32) | inodeTableBlockOffset;
inodeTableBlockOffset = (((long) groupDescriptors[i].getBg_inode_table_hi()) << 32) | inodeTableBlockOffset;
}
long offset = inodeTableBlockOffset * blockSize;
reader.setPointerIndex(offset);