Skip to content

Commit 57a6e2e

Browse files
authored
Fix overflow with extended partitions (#38)
1 parent 5d7b355 commit 57a6e2e

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

src/lib.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -427,9 +427,9 @@ impl MBR {
427427
let mut ebr_first_chs = extended.first_chs;
428428
let mut ebr_last_chs = None;
429429
loop {
430-
reader.seek(SeekFrom::Start(u64::from(
431-
(extended.starting_lba + relative_ebr_lba) * sector_size,
432-
)))?;
430+
let offset =
431+
(extended.starting_lba as u64 + relative_ebr_lba as u64) * sector_size as u64;
432+
reader.seek(SeekFrom::Start(offset))?;
433433
let (partition, next, bootstrap_code) = match EBRHeader::read_from(&mut reader) {
434434
Ok(ebr) => ebr.unwrap(),
435435
Err(err) => {

0 commit comments

Comments
 (0)