From 3ce370e7e5e5a904e95f52bedaaa3352cf238b22 Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Tue, 23 Apr 2024 15:54:37 +0200 Subject: [PATCH] Fix crash when corrupted seq numbers become near 2^32. --- src/file.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/file.rs b/src/file.rs index 0f013b6..680cc54 100644 --- a/src/file.rs +++ b/src/file.rs @@ -1078,7 +1078,7 @@ impl<'a> FileSearcher<'a> { } async fn really_seek(&mut self, m: &mut FileManager) -> Result> { - let left = self.left.add(1).unwrap(); + let left = self.left.add(1)?; let mut i = if left >= self.right { 0 } else { @@ -1095,7 +1095,7 @@ impl<'a> FileSearcher<'a> { Err(SearchSeekError::Flash(e)) => return Err(Error::Flash(e)), Err(SearchSeekError::Corrupted) => corrupted!(), Err(SearchSeekError::TooMuchLeft) => { - let new_left = seq.add(1).unwrap(); + let new_left = seq.add(1)?; assert!(new_left >= self.left); self.left = new_left; } @@ -1236,7 +1236,7 @@ impl<'a> FileSearcher<'a> { } SeekDirection::Right => { trace!("search seek right"); - self.left = self.curr_high.add(1).unwrap(); + self.left = self.curr_high.add(1)?; self.result = self.curr_mid; } }