summary refs log tree commit diff
path: root/devices/src/virtio/descriptor_utils.rs
diff options
context:
space:
mode:
Diffstat (limited to 'devices/src/virtio/descriptor_utils.rs')
-rw-r--r--devices/src/virtio/descriptor_utils.rs6
1 files 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<T: DataInit>(&mut self) -> Result<T> {
-        // Safe because DataInit types are safe to initialize from raw data.
-        let mut object: T = unsafe { mem::uninitialized() };
+    pub fn read_obj<T: DataInit + Default>(&mut self) -> Result<T> {
+        let mut object: T = Default::default();
         self.read_exact(object.as_mut_slice()).map(|_| object)
     }