From bb5a4f1843361518412d5cd4036e31fb65f36e33 Mon Sep 17 00:00:00 2001 From: Daniel Verkamp Date: Mon, 8 Jul 2019 13:12:05 -0700 Subject: devices: remove use of mem::uninitialized mem::uninitialized is unsafe, and we already replaced most instances of it with alternate implementations; however, another one slipped in since then. Replace it with Default::default() as a safe alterantive. BUG=None TEST=./build_test Change-Id: Idacdcb0ebe197cc93fba4b15c3dda774bb56e73e Signed-off-by: Daniel Verkamp Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/1691233 Reviewed-by: Zach Reizner Tested-by: kokoro --- devices/src/virtio/descriptor_utils.rs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/devices/src/virtio/descriptor_utils.rs b/devices/src/virtio/descriptor_utils.rs index 2f296e3..0656c06 100644 --- a/devices/src/virtio/descriptor_utils.rs +++ b/devices/src/virtio/descriptor_utils.rs @@ -4,7 +4,6 @@ use std::cmp; use std::io; -use std::mem; use std::os::unix::io::AsRawFd; use data_model::DataInit; @@ -171,9 +170,8 @@ impl<'a> Reader<'a> { } /// Reads an object from the descriptor chain buffer. - pub fn read_obj(&mut self) -> Result { - // Safe because DataInit types are safe to initialize from raw data. - let mut object: T = unsafe { mem::uninitialized() }; + pub fn read_obj(&mut self) -> Result { + let mut object: T = Default::default(); self.read_exact(object.as_mut_slice()).map(|_| object) } -- cgit 1.4.1