diff options
| author | Kornel <kornel@geekhood.net> | 2024-01-15 11:28:13 +0000 |
|---|---|---|
| committer | Kornel <kornel@geekhood.net> | 2024-01-27 18:52:41 +0000 |
| commit | 2251e9abee68f1f8ad7b80938b2e36a96f7768c1 (patch) | |
| tree | 945f33481a2257a45c8271484c08c6f87cbf3f79 | |
| parent | 6b4f1c5e782c72a047a23e922decd33e7d462345 (diff) | |
| download | rust-2251e9abee68f1f8ad7b80938b2e36a96f7768c1.tar.gz rust-2251e9abee68f1f8ad7b80938b2e36a96f7768c1.zip | |
Reject infinitely-sized reads from io::Repeat
Related to #117925
| -rw-r--r-- | library/std/src/io/util.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/library/std/src/io/util.rs b/library/std/src/io/util.rs index 6bc8f181c90..a04bc481146 100644 --- a/library/std/src/io/util.rs +++ b/library/std/src/io/util.rs @@ -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; |
