Skip to content

Commit

Permalink
fs: compute checksum correctly for large bootblocks
Browse files Browse the repository at this point in the history
If a bootblock consists of multiple blocks, only the first block
contains a checksum field that needs to be ignored.
  • Loading branch information
atsampson committed Feb 26, 2024
1 parent 2a6af0c commit 22263ff
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions amitools/fs/block/BootBlock.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,9 @@ def _calc_chksum(self):
all_blks = [self] + self.extra_blks
n = self.blkdev.block_longs
chksum = 0
for blk in all_blks:
for b, blk in enumerate(all_blks):
for i in range(n):
if i != 1: # skip chksum
if not (b == 0 and i == 1): # skip chksum
chksum += blk._get_long(i)
if chksum > 0xFFFFFFFF:
chksum += 1
Expand Down

0 comments on commit 22263ff

Please sign in to comment.