(data_len: usize, entry: &PerroAssetsEntry)
| 187 | "Compressed PerroAssets size mismatch: expected {}, got {}", |
| 188 | original_size, |
| 189 | out.len() |
| 190 | ), |
| 191 | )); |
| 192 | } |
| 193 | Ok(std::mem::take(&mut out)) |
| 194 | } |
| 195 | |
| 196 | fn checked_decompressed_size(size: u64) -> io::Result<usize> { |
| 197 | let size = usize::try_from(size) |
| 198 | .map_err(|_| io::Error::new(io::ErrorKind::InvalidData, "archive entry too large"))?; |
| 199 | if size > MAX_DECOMPRESSED_ARCHIVE_BYTES { |
| 200 | return Err(io::Error::new( |
| 201 | io::ErrorKind::InvalidData, |
| 202 | "archive entry exceeds decompression limit", |
| 203 | )); |
| 204 | } |
| 205 | Ok(size) |
| 206 | } |
| 207 |
no outgoing calls
no test coverage detected