diff options
author | Zach Reizner <zachr@google.com> | 2019-05-22 17:26:53 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2019-05-23 07:35:18 -0700 |
commit | 3e0fa36886a7fbed31709c7bcc90930356c0afae (patch) | |
tree | 26be8e831f38a0b2b2979f4b1442dd907981efb0 /gpu_renderer | |
parent | 6b7373af988c457d44d7d82bd7ef3e70968f058c (diff) | |
download | crosvm-3e0fa36886a7fbed31709c7bcc90930356c0afae.tar crosvm-3e0fa36886a7fbed31709c7bcc90930356c0afae.tar.gz crosvm-3e0fa36886a7fbed31709c7bcc90930356c0afae.tar.bz2 crosvm-3e0fa36886a7fbed31709c7bcc90930356c0afae.tar.lz crosvm-3e0fa36886a7fbed31709c7bcc90930356c0afae.tar.xz crosvm-3e0fa36886a7fbed31709c7bcc90930356c0afae.tar.zst crosvm-3e0fa36886a7fbed31709c7bcc90930356c0afae.zip |
eliminate usage of uninitialized
uninitialized is deprecated and considered too dangerous to use for any of the use cases we were using. BUG=None TEST=passes smoke_test Change-Id: I5392cb8ec132f374d9b5590f72eb2cb329a82421 Reviewed-on: https://chromium-review.googlesource.com/1626795 Commit-Ready: Zach Reizner <zachr@chromium.org> Tested-by: Zach Reizner <zachr@chromium.org> Tested-by: kokoro <noreply+kokoro@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Dylan Reid <dgreid@chromium.org> Reviewed-by: Stephen Barber <smbarber@chromium.org>
Diffstat (limited to 'gpu_renderer')
-rw-r--r-- | gpu_renderer/src/generated/virglrenderer.rs | 2 | ||||
-rw-r--r-- | gpu_renderer/src/lib.rs | 11 |
2 files changed, 5 insertions, 8 deletions
diff --git a/gpu_renderer/src/generated/virglrenderer.rs b/gpu_renderer/src/generated/virglrenderer.rs index f0ea9eb..eb4d4d6 100644 --- a/gpu_renderer/src/generated/virglrenderer.rs +++ b/gpu_renderer/src/generated/virglrenderer.rs @@ -244,7 +244,7 @@ extern "C" { pub fn virgl_set_debug_callback(cb: virgl_debug_callback_type) -> virgl_debug_callback_type; } #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Default, Debug, Copy, Clone)] pub struct virgl_renderer_resource_info { pub handle: u32, pub virgl_format: u32, diff --git a/gpu_renderer/src/lib.rs b/gpu_renderer/src/lib.rs index 3952cf0..4b8274d 100644 --- a/gpu_renderer/src/lib.rs +++ b/gpu_renderer/src/lib.rs @@ -13,7 +13,7 @@ use std::ffi::CStr; use std::fmt::{self, Display}; use std::fs::File; use std::marker::PhantomData; -use std::mem::{size_of, transmute, uninitialized}; +use std::mem::{size_of, transmute}; use std::ops::Deref; use std::os::raw::{c_char, c_int, c_uint, c_void}; use std::os::unix::io::{FromRawFd, RawFd}; @@ -343,9 +343,8 @@ impl Renderer { } let config_attribs = [EGL_SURFACE_TYPE as i32, -1, EGL_NONE as i32]; - // Safe because these uninitialized variables get initialized by the ChooseConfig function. - let mut egl_config: *mut c_void = unsafe { uninitialized() }; - let mut num_configs = unsafe { uninitialized() }; + let mut egl_config: *mut c_void = null_mut(); + let mut num_configs = 0; // Safe because only a valid, initialized display is used, along with validly sized // pointers to stack variables. let ret = unsafe { @@ -694,9 +693,7 @@ impl Resource { /// Retrieves metadata about this resource. pub fn get_info(&self) -> Result<ResourceInfo> { - // Safe because the resource info is filled in by the virgl call and only returned if it was - // successful. - let mut res_info = unsafe { uninitialized() }; + let mut res_info = Default::default(); let ret = unsafe { virgl_renderer_resource_get_info(self.id as i32, &mut res_info) }; ret_to_res(ret)?; Ok(res_info) |