diff --git a/src/read.rs b/src/read.rs index 30dd3d4..7ac0425 100644 --- a/src/read.rs +++ b/src/read.rs @@ -17,12 +17,9 @@ impl IoReader { impl BufReadExact for IoReader { fn buf_read_exact(&mut self, len: usize) -> io::Result<&[u8]> { - unsafe { - self.buf.reserve(len); - let slice = self.buf.get_unchecked_mut(..len); - self.rdr.read_exact(slice)?; - Ok(slice) - } + self.buf.resize(len, 0); + self.rdr.read_exact(self.buf.as_mut_slice())?; + Ok(self.buf.as_slice()) } }