···3030 fn from_str(s: &str) -> Result<Self, Self::Err> {
3131 // Try to parse s as just a number
3232 if let Ok(num) = s.parse::<usize>() {
3333+ if num == 0 {
3434+ return Err("Invalid number");
3535+ }
3336 return Ok(ChunkSize { size_in_bytes: num });
3437 }
3538 // Simplify so that we always assume base 2, regardless of whether we see
···4851 "gb" => num * 1024 * 1024 * 1024,
4952 _ => return Err("Invalid unit"),
5053 };
5454+ if size_in_bytes == 0 {
5555+ return Err("Invalid number");
5656+ }
51575258 Ok(ChunkSize { size_in_bytes })
5359 }