Fix not write back error in (U)Random::read

This commit is contained in:
Marsman1996
2024-11-18 19:45:00 +08:00
committed by Tate, Hongliang Tian
parent 42b3541dcb
commit 1fac737646
2 changed files with 6 additions and 2 deletions

View File

@ -47,7 +47,9 @@ impl Pollable for Random {
impl FileIo for Random { impl FileIo for Random {
fn read(&self, writer: &mut VmWriter) -> Result<usize> { fn read(&self, writer: &mut VmWriter) -> Result<usize> {
let mut buf = vec![0; writer.avail()]; let mut buf = vec![0; writer.avail()];
Self::getrandom(buf.as_mut_slice()) let size = Self::getrandom(buf.as_mut_slice());
writer.write_fallible(&mut buf.as_slice().into())?;
size
} }
fn write(&self, reader: &mut VmReader) -> Result<usize> { fn write(&self, reader: &mut VmReader) -> Result<usize> {

View File

@ -47,7 +47,9 @@ impl Pollable for Urandom {
impl FileIo for Urandom { impl FileIo for Urandom {
fn read(&self, writer: &mut VmWriter) -> Result<usize> { fn read(&self, writer: &mut VmWriter) -> Result<usize> {
let mut buf = vec![0; writer.avail()]; let mut buf = vec![0; writer.avail()];
Self::getrandom(buf.as_mut_slice()) let size = Self::getrandom(buf.as_mut_slice());
writer.write_fallible(&mut buf.as_slice().into())?;
size
} }
fn write(&self, reader: &mut VmReader) -> Result<usize> { fn write(&self, reader: &mut VmReader) -> Result<usize> {