Mercurial > hg
diff rust/hg-core/src/dirstate_tree/on_disk.rs @ 51700:7f0cb9ee0534
Backout accidental publication of a large range of revisions
I accidentally published 25e7f9dcad0f::bd1483fd7088, this is the inverse.
author | Raphaël Gomès <rgomes@octobus.net> |
---|---|
date | Tue, 23 Jul 2024 10:02:46 +0200 |
parents | 918ceb5a3d25 |
children | ec7171748350 |
line wrap: on
line diff
--- a/rust/hg-core/src/dirstate_tree/on_disk.rs Mon Jul 22 16:49:38 2024 +0200 +++ b/rust/hg-core/src/dirstate_tree/on_disk.rs Tue Jul 23 10:02:46 2024 +0200 @@ -332,7 +332,9 @@ ) -> Result<usize, DirstateV2ParseError> { let start = self.base_name_start.get(); if start < self.full_path.len.get() { - let start = usize::from(start); + let start = usize::try_from(start) + // u32 -> usize, could only panic on a 16-bit CPU + .expect("dirstate-v2 base_name_start out of bounds"); Ok(start) } else { Err(DirstateV2ParseError::new("not enough bytes for base name")) @@ -591,8 +593,8 @@ { // Either `usize::MAX` would result in "out of bounds" error since a single // `&[u8]` cannot occupy the entire addess space. - let start = start.get().try_into().unwrap_or(usize::MAX); - let len = len.try_into().unwrap_or(usize::MAX); + let start = start.get().try_into().unwrap_or(std::usize::MAX); + let len = len.try_into().unwrap_or(std::usize::MAX); let bytes = match on_disk.get(start..) { Some(bytes) => bytes, None => {