mirror of
https://github.com/tokio-rs/tokio.git
synced 2026-08-18 00:00:09 +02:00
io: fix integer overflow in take (#6080)
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
use crate::io::{AsyncBufRead, AsyncRead, ReadBuf};
|
||||
|
||||
use pin_project_lite::pin_project;
|
||||
use std::convert::TryFrom;
|
||||
use std::pin::Pin;
|
||||
use std::task::{Context, Poll};
|
||||
use std::{cmp, io};
|
||||
@@ -85,7 +86,7 @@ impl<R: AsyncRead> AsyncRead for Take<R> {
|
||||
}
|
||||
|
||||
let me = self.project();
|
||||
let mut b = buf.take(*me.limit_ as usize);
|
||||
let mut b = buf.take(usize::try_from(*me.limit_).unwrap_or(usize::MAX));
|
||||
|
||||
let buf_ptr = b.filled().as_ptr();
|
||||
ready!(me.inner.poll_read(cx, &mut b))?;
|
||||
|
||||
Reference in New Issue
Block a user