Skip to content

Commit

Permalink
make check a bit more clear
Browse files Browse the repository at this point in the history
  • Loading branch information
sfackler committed Jan 11, 2021
1 parent a9ef798 commit 5cb8303
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions library/std/src/io/mod.rs
Expand Up @@ -384,14 +384,15 @@ where
}
}

match r.read(&mut g.buf[g.len..]) {
let buf = &mut g.buf[g.len..];
match r.read(buf) {
Ok(0) => return Ok(g.len - start_len),
Ok(n) => {
// We can't let g.len overflow which would result in the vec shrinking when the function returns. In
// particular, that could break read_to_string if the shortened buffer doesn't end on a UTF-8 boundary.
// The minimal check would just be a checked_add, but this assert is a bit more precise and should be
// just about the same cost.
assert!(n <= g.buf.len() - g.len);
assert!(n <= buf.len());
g.len += n;
}
Err(ref e) if e.kind() == ErrorKind::Interrupted => {}
Expand Down

0 comments on commit 5cb8303

Please sign in to comment.