From 1e0148ef658d928a135fbf19650722c118ad9c49 Mon Sep 17 00:00:00 2001 From: Josh Megnauth Date: Sun, 15 Dec 2024 00:45:31 -0500 Subject: [PATCH] Fix small TODO; `checked_add` The original TODO mentioned `checked_add_signed`, but the valued added (`bytes_read`) is a `usize` so I assume that was a typo. --- src/unzip/cloneable_seekable_reader.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/unzip/cloneable_seekable_reader.rs b/src/unzip/cloneable_seekable_reader.rs index dee61f6..feb1945 100644 --- a/src/unzip/cloneable_seekable_reader.rs +++ b/src/unzip/cloneable_seekable_reader.rs @@ -50,8 +50,13 @@ impl Inner { } let read_result = self.r.read(buf); if let Ok(bytes_read) = read_result { - // TODO, once stabilised, use checked_add_signed - self.pos += bytes_read as u64; + self.pos = self + .pos + .checked_add(bytes_read as u64) + .ok_or(std::io::Error::new( + std::io::ErrorKind::InvalidInput, + "Read too far forward", + ))?; } read_result }