1
0
mirror of https://github.com/actix/actix-extras.git synced 2024-11-28 09:42:40 +01:00

set length of vector to max_bytes (closes #345) (#346)

This commit is contained in:
ousado 2018-06-26 07:09:12 +02:00 committed by Douman
parent a9425a866b
commit 0f27389e72

View File

@ -440,11 +440,14 @@ impl Stream for ChunkedReadFile {
let max_bytes: usize;
max_bytes = cmp::min(size.saturating_sub(counter), 65_536) as usize;
let mut buf = Vec::with_capacity(max_bytes);
// safe because memory is initialized/overwritten immediately
unsafe { buf.set_len(max_bytes); }
file.seek(io::SeekFrom::Start(offset))?;
let nbytes = file.read(buf.as_mut_slice())?;
if nbytes == 0 {
return Err(io::ErrorKind::UnexpectedEof.into());
}
unsafe { buf.set_len(nbytes); }
Ok((file, Bytes::from(buf)))
}));
self.poll()