Reject infinitely-sized reads from io::Repeat

Related to #117925
This commit is contained in:
Kornel 2024-01-15 11:28:13 +00:00
parent 6b4f1c5e78
commit 2251e9abee

View File

@ -204,6 +204,16 @@ impl Read for Repeat {
Ok(())
}
/// This function is not supported by `io::Repeat`, because there's no end of its data
fn read_to_end(&mut self, _: &mut Vec<u8>) -> io::Result<usize> {
Err(io::Error::from(io::ErrorKind::OutOfMemory))
}
/// This function is not supported by `io::Repeat`, because there's no end of its data
fn read_to_string(&mut self, _: &mut String) -> io::Result<usize> {
Err(io::Error::from(io::ErrorKind::OutOfMemory))
}
#[inline]
fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> io::Result<usize> {
let mut nwritten = 0;